Sky View Café - Java

org.shetline.util
Class DateUtil

java.lang.Object
  extended by org.shetline.util.DateUtil
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
TimeDateUtil

public class DateUtil
extends Object
implements Cloneable


Nested Class Summary
static class DateUtil.DateInfo
           
protected static class DateUtil.DateParser
           
protected static class DateUtil.DateParseState
           
protected static class DateUtil.DatePartType
           
protected static class DateUtil.DatePartTypeList
           
static class DateUtil.ParseOption
           
protected static class DateUtil.StringList
           
protected static class DateUtil.StringSet
           
protected static class DateUtil.StringSetByString
           
 
Field Summary
protected static HashSet<Character> additionalCharacters
           
protected static char CHINESE_DAY
           
protected static char CHINESE_MONTH
           
protected static char CHINESE_YEAR
           
static int DAY_MINS
           
static long DAY_MSECS
           
static int DAY_SECS
           
protected static int DISTANT_FUTURE_YEAR
           
protected static int DISTANT_PAST_YEAR
           
protected static DateUtil.StringSetByString eraByLanguageAD
           
protected static DateUtil.StringSetByString eraByLanguageBC
           
protected static long FIRST_GREGORIAN_DAY_SGC
           
protected  int firstDateInGCChangeMonth
           
protected  long firstGregorianDay
           
protected  int gcDate
           
protected static DateUtil gcDateUtil
           
protected  int gcMonth
           
protected  int gcYear
           
static int GREGORIAN_CHANGE_MAX_YEAR
           
static int GREGORIAN_CHANGE_MIN_YEAR
           
static int HALF_MINUTE_MSECS
           
static int HOUR_MSECS
           
static int HOUR_SECS
           
static int ISO_STYLE
           
protected static SimpleDateFormat isoDateFormat
           
protected static Pattern isoDatePattern
           
protected static Pattern isoDatePatternLoose
           
protected static char KOREAN_DAY
           
protected static char KOREAN_MONTH
           
protected static char KOREAN_YEAR
           
static int LAST
           
protected  int lastJulianDate
           
protected  int lastJulianMonth
           
protected  int lastJulianYear
           
protected  int lengthOfGCChangeMonth
           
protected static Pattern longMonthPattern
           
static Date MAX_DATE
           
protected static Pattern mediumMonthPattern
           
static Date MIN_DATE
           
static int MINUTE_MSECS
           
protected static int NaN
           
static int TWO_DIGIT_YEAR_IS_FIRST_CENTURY
           
static int USE_DEFAULT_CENTURY_FOR_TWO_DIGIT_YEAR
           
static TimeZone UTC_ZONE
           
protected static int WITHOUT_WORD_DELIMS
           
protected static int YEAR_ONLY_STYLE
           
 
Constructor Summary
DateUtil()
           
DateUtil(boolean pureGregorian)
           
DateUtil(Date gcDate)
           
DateUtil(int[] gcDate)
           
DateUtil(int gcYear, int gcMonth, int gcDate)
           
 
Method Summary
static int[] addDaysToDate_SGC(int[] ymd, int deltaDays)
           
static int[] addDaysToDate_SGC(int year, int month, int date, int deltaDays)
           
 int[] addDaysToDate(int[] ymd, int deltaDays)
           
 int[] addDaysToDate(int year, int month, int date, int deltaDays)
           
static DateUtil.DateInfo analyzeDate(String dateInput, Object... args)
           
protected static void appendToMatchingSet(DateUtil.StringSetByString map, String language, String era)
           
 Object clone()
           
 boolean equals(Object obj)
           
protected static String escapeForDatePattern(String s)
           
static int[][] getCalendarMonth_SGC(int year, int month, int startingDayOfWeek)
           
static int[][] getCalendarMonth(GregorianCalendar calendar, int year, int month, int startingDayOfWeek)
           
 int[][] getCalendarMonth(int year, int month, int startingDayOfWeek)
           
static Date getDate(GregorianCalendar calendar, int[] ymd)
           
static Date getDate(GregorianCalendar calendar, int year, int month, int date)
           
static int[] getDateFromDayNumber_SGC(long dayNum)
           
 int[] getDateFromDayNumber(long dayNum)
           
static int[] getDateFromDayNumberGregorian(long dayNum)
           
static int[] getDateFromDayNumberJulian(long dayNum)
           
static int getDateOfNthWeekdayOfMonth_SGC(int year, int month, int dayOfTheWeek, int index)
           
 int getDateOfNthWeekdayOfMonth(int year, int month, int dayOfTheWeek, int index)
           
static long getDayNumber_SGC(int year, int month, int date)
           
 long getDayNumber(int[] ymd)
           
 long getDayNumber(int year, int month, int date)
           
static long getDayNumberGregorian(int year, int month, int date)
           
static long getDayNumberJulian(int year, int month, int date)
           
static int getDayOfWeek_SGC(int year, int month, int date)
          Day of the week for given year, month, and date.
 int getDayOfWeek(int year, int month, int date)
           
static int getDayOfWeek(long dayNum)
           
static int getDayOfWeekInMonthCount_SGC(int year, int month, int dayOfTheWeek)
           
 int getDayOfWeekInMonthCount(int year, int month, int dayOfTheWeek)
           
static int getDaysInMonth_SGC(int year, int month)
           
 int getDaysInMonth(int year, int month)
           
static int getDaysInYear_SGC(int year)
           
 int getDaysInYear(int year)
           
static DateFormat getExpandedShortDateFormat()
           
static DateFormat getExpandedShortDateFormat(Locale locale)
           
static int getFirstDateInMonth_SGC(int year, int month)
           
 int getFirstDateInMonth(int year, int month)
           
 int[] getGregorianChange()
           
static int[] getGregorianChange(GregorianCalendar calendar)
           
 Date getGregorianChangeAsDate()
           
static Locale getGregorianLocale(Locale locale)
           
static String getISOFormatDate_SGC(int dayNum)
           
static String getISOFormatDate(Date date)
           
static String getISOFormatDate(Date date, TimeZone zone)
           
static String getISOFormatDate(Date date, TimeZone zone, Date gregorianChange)
           
 String getISOFormatDate(int dayNum)
           
static String getISOFormatDate(int[] ymd)
           
static String getISOFormatDate(int year, int month, int date)
           
static int getLastDateInMonth_SGC(int year, int month)
           
 int getLastDateInMonth(int year, int month)
           
static int getLastDateInMonthGregorian(int year, int month)
           
static int getLastDateInMonthJulian(int year, int month)
           
 int[] getMissingDateRange(int year, int month)
           
 Date getUTDate(int[] ymd)
           
 Date getUTDate(int year, int month, int date)
           
static int[] getUTDateGregorian(Date date)
           
static Date getUTDateGregorian(int[] ymd)
           
static Date getUTDateGregorian(int year, int month, int date)
           
static Set<Integer> getWeekendDays(Locale locale)
           
 int hashCode()
           
protected static boolean inSupportedCharacterSet(char ch)
           
protected static boolean isDelimiterCharacter(char ch, String language, int style)
           
static boolean isJulianCalendarDate_SGC(int year, int month, int date)
           
 boolean isJulianCalendarDate(int year, int month, int date)
           
protected static boolean isNonDelimiterCharacter(char ch, String language, int style)
           
 boolean isPureGregorian()
           
 boolean isPureJulian()
           
static boolean isValidDate_SGC(int year, int month, int date)
           
 boolean isValidDate(int[] ymd)
           
 boolean isValidDate(int year, int month, int date)
           
static boolean isValidDateGregorian(int year, int month, int date)
           
static boolean isValidDateJulian(int year, int month, int date)
           
 int[] normalizeDate(int[] ymd)
           
 int[] normalizeDate(int year, int month, int date)
           
static Date parseDate(String dateInput, Object... args)
           
static int[] parseDateAsIntArray(String dateInput, Object... args)
           
static int[] parseISOFormatDate(String s)
           
protected static void registerAdditionalCharacters(String s)
           
protected static void registerAdditionalCharacters(String[] sa)
           
protected static void set2DigitYearStart(SimpleDateFormat format, int year)
           
static void setCalendarDate(GregorianCalendar calendar, int[] ymd)
           
static void setCalendarDate(GregorianCalendar calendar, int year, int month, int date)
           
 void setDefaultGregorianChange()
           
 void setGregorianChange(Date date)
           
static void setGregorianChange(GregorianCalendar calendar, int[] ymd)
           
static void setGregorianChange(GregorianCalendar calendar, int year, int month, int date)
           
 void setGregorianChange(int[] ymd)
           
 void setGregorianChange(int gcYear, int gcMonth, int gcDate)
           
 void setGregorianChangeDate(String s)
           
 void setPureGregorian(boolean pureGregorian)
           
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

gcYear

protected int gcYear

gcMonth

protected int gcMonth

gcDate

protected int gcDate

firstGregorianDay

protected long firstGregorianDay

firstDateInGCChangeMonth

protected int firstDateInGCChangeMonth

lengthOfGCChangeMonth

protected int lengthOfGCChangeMonth

lastJulianYear

protected int lastJulianYear

lastJulianMonth

protected int lastJulianMonth

lastJulianDate

protected int lastJulianDate

ISO_STYLE

public static final int ISO_STYLE
See Also:
Constant Field Values

YEAR_ONLY_STYLE

protected static final int YEAR_ONLY_STYLE
See Also:
Constant Field Values

WITHOUT_WORD_DELIMS

protected static final int WITHOUT_WORD_DELIMS
See Also:
Constant Field Values

USE_DEFAULT_CENTURY_FOR_TWO_DIGIT_YEAR

public static final int USE_DEFAULT_CENTURY_FOR_TWO_DIGIT_YEAR
See Also:
Constant Field Values

TWO_DIGIT_YEAR_IS_FIRST_CENTURY

public static final int TWO_DIGIT_YEAR_IS_FIRST_CENTURY
See Also:
Constant Field Values

LAST

public static final int LAST
See Also:
Constant Field Values

GREGORIAN_CHANGE_MIN_YEAR

public static final int GREGORIAN_CHANGE_MIN_YEAR
See Also:
Constant Field Values

GREGORIAN_CHANGE_MAX_YEAR

public static final int GREGORIAN_CHANGE_MAX_YEAR
See Also:
Constant Field Values

DISTANT_PAST_YEAR

protected static final int DISTANT_PAST_YEAR
See Also:
Constant Field Values

DISTANT_FUTURE_YEAR

protected static final int DISTANT_FUTURE_YEAR
See Also:
Constant Field Values

UTC_ZONE

public static final TimeZone UTC_ZONE

MIN_DATE

public static final Date MIN_DATE

MAX_DATE

public static final Date MAX_DATE

DAY_MSECS

public static final long DAY_MSECS
See Also:
Constant Field Values

HOUR_MSECS

public static final int HOUR_MSECS
See Also:
Constant Field Values

MINUTE_MSECS

public static final int MINUTE_MSECS
See Also:
Constant Field Values

HALF_MINUTE_MSECS

public static final int HALF_MINUTE_MSECS
See Also:
Constant Field Values

DAY_MINS

public static final int DAY_MINS
See Also:
Constant Field Values

DAY_SECS

public static final int DAY_SECS
See Also:
Constant Field Values

HOUR_SECS

public static final int HOUR_SECS
See Also:
Constant Field Values

isoDateFormat

protected static final SimpleDateFormat isoDateFormat

isoDatePattern

protected static final Pattern isoDatePattern

isoDatePatternLoose

protected static final Pattern isoDatePatternLoose

mediumMonthPattern

protected static final Pattern mediumMonthPattern

longMonthPattern

protected static final Pattern longMonthPattern

CHINESE_YEAR

protected static final char CHINESE_YEAR
See Also:
Constant Field Values

CHINESE_MONTH

protected static final char CHINESE_MONTH
See Also:
Constant Field Values

CHINESE_DAY

protected static final char CHINESE_DAY
See Also:
Constant Field Values

KOREAN_YEAR

protected static final char KOREAN_YEAR
See Also:
Constant Field Values

KOREAN_MONTH

protected static final char KOREAN_MONTH
See Also:
Constant Field Values

KOREAN_DAY

protected static final char KOREAN_DAY
See Also:
Constant Field Values

FIRST_GREGORIAN_DAY_SGC

protected static final long FIRST_GREGORIAN_DAY_SGC
See Also:
Constant Field Values

NaN

protected static final int NaN
See Also:
Constant Field Values

gcDateUtil

protected static final DateUtil gcDateUtil

eraByLanguageAD

protected static DateUtil.StringSetByString eraByLanguageAD

eraByLanguageBC

protected static DateUtil.StringSetByString eraByLanguageBC

additionalCharacters

protected static HashSet<Character> additionalCharacters
Constructor Detail

DateUtil

public DateUtil()

DateUtil

public DateUtil(int gcYear,
                int gcMonth,
                int gcDate)

DateUtil

public DateUtil(int[] gcDate)

DateUtil

public DateUtil(Date gcDate)

DateUtil

public DateUtil(boolean pureGregorian)
Method Detail

appendToMatchingSet

protected static void appendToMatchingSet(DateUtil.StringSetByString map,
                                          String language,
                                          String era)

registerAdditionalCharacters

protected static void registerAdditionalCharacters(String[] sa)

registerAdditionalCharacters

protected static void registerAdditionalCharacters(String s)

clone

public Object clone()
Overrides:
clone in class Object

setPureGregorian

public void setPureGregorian(boolean pureGregorian)

isPureGregorian

public boolean isPureGregorian()

isPureJulian

public boolean isPureJulian()

setDefaultGregorianChange

public void setDefaultGregorianChange()

setGregorianChange

public void setGregorianChange(Date date)

setGregorianChange

public void setGregorianChange(int[] ymd)

setGregorianChange

public void setGregorianChange(int gcYear,
                               int gcMonth,
                               int gcDate)

setGregorianChangeDate

public void setGregorianChangeDate(String s)

getGregorianChange

public int[] getGregorianChange()

getGregorianChangeAsDate

public Date getGregorianChangeAsDate()

parseDate

public static Date parseDate(String dateInput,
                             Object... args)

parseDateAsIntArray

public static int[] parseDateAsIntArray(String dateInput,
                                        Object... args)

analyzeDate

public static DateUtil.DateInfo analyzeDate(String dateInput,
                                            Object... args)

escapeForDatePattern

protected static String escapeForDatePattern(String s)

isDelimiterCharacter

protected static boolean isDelimiterCharacter(char ch,
                                              String language,
                                              int style)

isNonDelimiterCharacter

protected static boolean isNonDelimiterCharacter(char ch,
                                                 String language,
                                                 int style)

inSupportedCharacterSet

protected static boolean inSupportedCharacterSet(char ch)

getISOFormatDate

public static String getISOFormatDate(Date date)

getISOFormatDate

public static String getISOFormatDate(Date date,
                                      TimeZone zone)

getISOFormatDate

public static String getISOFormatDate(Date date,
                                      TimeZone zone,
                                      Date gregorianChange)

getISOFormatDate_SGC

public static String getISOFormatDate_SGC(int dayNum)

getISOFormatDate

public String getISOFormatDate(int dayNum)

getISOFormatDate

public static String getISOFormatDate(int[] ymd)

getISOFormatDate

public static String getISOFormatDate(int year,
                                      int month,
                                      int date)

parseISOFormatDate

public static int[] parseISOFormatDate(String s)

getDayNumber_SGC

public static long getDayNumber_SGC(int year,
                                    int month,
                                    int date)

getDayNumber

public long getDayNumber(int[] ymd)

getDayNumber

public long getDayNumber(int year,
                         int month,
                         int date)

getDayNumberGregorian

public static long getDayNumberGregorian(int year,
                                         int month,
                                         int date)

getDayNumberJulian

public static long getDayNumberJulian(int year,
                                      int month,
                                      int date)

getDateFromDayNumber_SGC

public static int[] getDateFromDayNumber_SGC(long dayNum)

getDateFromDayNumberGregorian

public static int[] getDateFromDayNumberGregorian(long dayNum)

getDateFromDayNumberJulian

public static int[] getDateFromDayNumberJulian(long dayNum)

getDateFromDayNumber

public int[] getDateFromDayNumber(long dayNum)

getDaysInMonth_SGC

public static int getDaysInMonth_SGC(int year,
                                     int month)

getDaysInMonth

public int getDaysInMonth(int year,
                          int month)

getFirstDateInMonth_SGC

public static int getFirstDateInMonth_SGC(int year,
                                          int month)

getFirstDateInMonth

public int getFirstDateInMonth(int year,
                               int month)

getLastDateInMonth_SGC

public static int getLastDateInMonth_SGC(int year,
                                         int month)

getLastDateInMonthGregorian

public static int getLastDateInMonthGregorian(int year,
                                              int month)

getLastDateInMonthJulian

public static int getLastDateInMonthJulian(int year,
                                           int month)

getLastDateInMonth

public int getLastDateInMonth(int year,
                              int month)

isJulianCalendarDate_SGC

public static boolean isJulianCalendarDate_SGC(int year,
                                               int month,
                                               int date)

isJulianCalendarDate

public boolean isJulianCalendarDate(int year,
                                    int month,
                                    int date)

isValidDate_SGC

public static boolean isValidDate_SGC(int year,
                                      int month,
                                      int date)

isValidDateGregorian

public static boolean isValidDateGregorian(int year,
                                           int month,
                                           int date)

isValidDateJulian

public static boolean isValidDateJulian(int year,
                                        int month,
                                        int date)

isValidDate

public boolean isValidDate(int[] ymd)

isValidDate

public boolean isValidDate(int year,
                           int month,
                           int date)

normalizeDate

public int[] normalizeDate(int[] ymd)

normalizeDate

public int[] normalizeDate(int year,
                           int month,
                           int date)

getMissingDateRange

public int[] getMissingDateRange(int year,
                                 int month)

getDaysInYear_SGC

public static int getDaysInYear_SGC(int year)

getDaysInYear

public int getDaysInYear(int year)

getDayOfWeek

public static int getDayOfWeek(long dayNum)

getDayOfWeek_SGC

public static int getDayOfWeek_SGC(int year,
                                   int month,
                                   int date)
Day of the week for given year, month, and date.

Parameters:
year - Year
month - Month (1-12)
date - Day in month
Returns:
Value from 1 to 7 for day of the week, with 1 = Sunday, 2 = Monday, etc.

getDayOfWeek

public int getDayOfWeek(int year,
                        int month,
                        int date)

getDateOfNthWeekdayOfMonth_SGC

public static int getDateOfNthWeekdayOfMonth_SGC(int year,
                                                 int month,
                                                 int dayOfTheWeek,
                                                 int index)

getDateOfNthWeekdayOfMonth

public int getDateOfNthWeekdayOfMonth(int year,
                                      int month,
                                      int dayOfTheWeek,
                                      int index)

getDayOfWeekInMonthCount_SGC

public static int getDayOfWeekInMonthCount_SGC(int year,
                                               int month,
                                               int dayOfTheWeek)

getDayOfWeekInMonthCount

public int getDayOfWeekInMonthCount(int year,
                                    int month,
                                    int dayOfTheWeek)

addDaysToDate_SGC

public static int[] addDaysToDate_SGC(int[] ymd,
                                      int deltaDays)

addDaysToDate_SGC

public static int[] addDaysToDate_SGC(int year,
                                      int month,
                                      int date,
                                      int deltaDays)

addDaysToDate

public int[] addDaysToDate(int[] ymd,
                           int deltaDays)

addDaysToDate

public int[] addDaysToDate(int year,
                           int month,
                           int date,
                           int deltaDays)

setGregorianChange

public static void setGregorianChange(GregorianCalendar calendar,
                                      int[] ymd)

setGregorianChange

public static void setGregorianChange(GregorianCalendar calendar,
                                      int year,
                                      int month,
                                      int date)

getGregorianChange

public static int[] getGregorianChange(GregorianCalendar calendar)

getUTDateGregorian

public static int[] getUTDateGregorian(Date date)

getUTDateGregorian

public static Date getUTDateGregorian(int[] ymd)

getUTDateGregorian

public static Date getUTDateGregorian(int year,
                                      int month,
                                      int date)

getUTDate

public Date getUTDate(int[] ymd)

getUTDate

public Date getUTDate(int year,
                      int month,
                      int date)

getDate

public static Date getDate(GregorianCalendar calendar,
                           int[] ymd)

getDate

public static Date getDate(GregorianCalendar calendar,
                           int year,
                           int month,
                           int date)

setCalendarDate

public static void setCalendarDate(GregorianCalendar calendar,
                                   int[] ymd)

setCalendarDate

public static void setCalendarDate(GregorianCalendar calendar,
                                   int year,
                                   int month,
                                   int date)

set2DigitYearStart

protected static void set2DigitYearStart(SimpleDateFormat format,
                                         int year)

getGregorianLocale

public static Locale getGregorianLocale(Locale locale)

getCalendarMonth_SGC

public static int[][] getCalendarMonth_SGC(int year,
                                           int month,
                                           int startingDayOfWeek)

getCalendarMonth

public static int[][] getCalendarMonth(GregorianCalendar calendar,
                                       int year,
                                       int month,
                                       int startingDayOfWeek)

getCalendarMonth

public int[][] getCalendarMonth(int year,
                                int month,
                                int startingDayOfWeek)

getWeekendDays

public static Set<Integer> getWeekendDays(Locale locale)

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

getExpandedShortDateFormat

public static DateFormat getExpandedShortDateFormat()

getExpandedShortDateFormat

public static DateFormat getExpandedShortDateFormat(Locale locale)

Sky View Café - Java