info.aduna.gee.publication.util
Class WDate
java.lang.Object
info.aduna.gee.publication.util.WDate
- All Implemented Interfaces:
- LocalNames, Comparable
public class WDate
- extends Object
- implements LocalNames, Comparable
ZPad WDate.
The WDate object represents a specific day.
Note that this class is not compatible with the standard JDK java.util.Date class.
| Fields inherited from interface info.aduna.gee.publication.LocalNames |
AM, APRIL, AUGUST, BUTTON_ADD, BUTTON_ASSOCIATES_MAY_NOT_EDIT, BUTTON_BACKUP, BUTTON_BOTTOM, BUTTON_CLEAR, BUTTON_CLEAR_CART, BUTTON_DELETE, BUTTON_DESCRIPTION, BUTTON_DOWN, BUTTON_EDIT, BUTTON_EDIT_CLABELS, BUTTON_EDIT_SUBSCRIPTION, BUTTON_EDIT_SUBSCRIPTIONS, BUTTON_ENTRY_FROM_CLIPBOARD, BUTTON_ENTRY_TO_CLIPBOARD, BUTTON_EXIT_EDIT_MODE, BUTTON_FAST_BACKWARD, BUTTON_FAST_FORWARD, BUTTON_FIND_FUTURE, BUTTON_FIND_PAST, BUTTON_INTERNALIZE_ENTRY, BUTTON_LINK, BUTTON_LINK_IN_FRAME, BUTTON_LOCK_ZPAD, BUTTON_MORE_TEXT, BUTTON_NEXTCONTENT, BUTTON_PERSONALIZE, BUTTON_PL0, BUTTON_PL1, BUTTON_PL2, BUTTON_PL3, BUTTON_PL4, BUTTON_PREVIOUSCONTENT, BUTTON_PROVIDE_ENTRY, BUTTON_RE_EXPORT, BUTTON_RE_MANUAL, BUTTON_REPEAT, BUTTON_REPEAT_TODAY, BUTTON_RESTORE, BUTTON_SEND_ORDER, BUTTON_SUGGESTED_DESTINATION, BUTTON_SUMMARY, BUTTON_SYNCHRONIZE, BUTTON_TIME, BUTTON_TODAY, BUTTON_TOMORROW, BUTTON_TOOLS, BUTTON_TOP, BUTTON_UNDO, BUTTON_UP, BUTTON_UPLOAD_IMAGE, BUTTON_YESTERDAY, CONFIRM_BACKUP_ERROR, CONFIRM_CHANGE_ALL_REPEATING, CONFIRM_CLABEL_DEFINITION_FORMAT, CONFIRM_COULD_NOT_SAVE, CONFIRM_DELETE_ALL_REPEATING, CONFIRM_DELETE_EXPIRED, CONFIRM_ERROR, CONFIRM_FILE_CHANGED, CONFIRM_FILE_CHANGED_TITLE, CONFIRM_FILE_REALLY_CHANGED, CONFIRM_FIND_CONTENT, CONFIRM_FIRST_SECTION, CONFIRM_HAS_THEMES_FRAME, CONFIRM_MIXED_TODAY, CONFIRM_NO_MORE_CONTENT, CONFIRM_NOT_A_ZPAD, CONFIRM_NOT_REMOVE_SECTION, CONFIRM_QUESTION, CONFIRM_READONLY_BROWSER, CONFIRM_SURE, CONFIRM_THIS_ZPAD, CONFIRM_TODAY_IS_AT_STARTUP, CONFIRM_TODAY_IS_AT_TRANSFER, CONFIRM_UNDO, DECEMBER, ENTRY_TYPE_APPLET, ENTRY_TYPE_HTML, ENTRY_TYPE_IMAGE, ENTRY_TYPE_OBJECT, ENTRY_TYPE_TEXT, ENTRY_TYPE_TMPLD, ERROR_CONFIG_LOAD, ERROR_DATABASE_LOAD, ERROR_IMAGE_LOAD, ERROR_RESOLVE_LOCATION, ERROR_ZPAD_LOAD, EXC_INVALID_PORT_NUMBER, EXC_NO_GZIP_SUPPORT, EXC_NO_HOSTNAME_SPECIFIED, EXC_UNKNOWN_COMPR, EXC_UNKNOWN_ENCODING, EXC_VELOCITY_NOT_SHOWN, FEBRUARY, FRIDAY, FROM, GETTING_BUTTONS, GETTING_CONTENT, HTML_EDIT_ENTRY, HTML_ENTRY_EXPIRED, HTML_ENTRY_NOT_YET_INSPIRED, HTML_ENTRY_WILL_EXPIRE, HTML_MOVE_ENTRY, HTML_ZPAD_GET_ENTRY, INVALID_USER_LOCATION, JANUARY, JULY, JUNE, LABEL_ACCEPT_BATCH, LABEL_ADD_TO_CART, LABEL_ALL_CLABELS, LABEL_ALLSUB_SECTIONS, LABEL_APPLET_CODE, LABEL_APPLET_CODEBASE, LABEL_AT_STARTUP, LABEL_AT_STARTUP_BRIEF, LABEL_BACKGROUND, LABEL_BATCH_IS_MULTIPLE, LABEL_BATCH_NEW_SECTION, LABEL_BLUE, LABEL_BOTTOMUP_SUBSCRIPTION, LABEL_CART_EMPTY, LABEL_CASE_SENSITIVE, LABEL_CHOOSE_SECTION, LABEL_CHOOSE_TMPL, LABEL_CLABEL_IMAGE, LABEL_CLABEL_OVER_IMAGE, LABEL_CLABEL_RULE, LABEL_CLABELS, LABEL_CLABELS_SELECTED, LABEL_COUNT, LABEL_COVER_SECTIONS, LABEL_COVER_SPECIFIC_BUTTONS, LABEL_COVER_SPECIFIC_ENTRY_BUTTONS, LABEL_COVER_USES_HIERMENU, LABEL_COVER_USES_HIERMENU_ALL_OPTION, LABEL_COVER_USES_INPAGE, LABEL_COVER_USES_JOUST, LABEL_CURRENT_SECTIONS, LABEL_DAILY, LABEL_DATE, LABEL_DAYOFWEEK, LABEL_DESCR, LABEL_DESCRIPTION, LABEL_DESTINATION, LABEL_DONT_INHERIT, LABEL_EDIT_BATCH, LABEL_EMBED_SOURCE, LABEL_ENTRY_HTML, LABEL_ENTRY_IS_TMPL, LABEL_FOREGROUND, LABEL_GREEN, LABEL_HEIGHT, LABEL_HTML_STYLE, LABEL_ID, LABEL_IMAGE_LOCATION, LABEL_IMPORT_CLASSNAME, LABEL_IMPORT_SERVERNAME, LABEL_INHERIT_CLABELS, LABEL_INHERIT_PRIVACY_GROUPS, LABEL_INLINE_DESCRIPTION, LABEL_INPAGE_ALT_TEMPLATE_ID, LABEL_INPAGE_ALT_TEMPLATE_SOURCE, LABEL_INPAGE_SUB_TEMPLATE_ID, LABEL_INPAGE_SUB_TEMPLATE_SOURCE, LABEL_INPAGE_SUBSUB_TEMPLATE_ID, LABEL_INPAGE_SUBSUB_TEMPLATE_SOURCE, LABEL_INPAGE_TEMPLATE_ID, LABEL_INPAGE_TEMPLATE_SOURCE, LABEL_LOADED_FRAMES, LABEL_LOADED_TEMPLATES, LABEL_MONTH, LABEL_MONTHLY, LABEL_MOUNTPOINT, LABEL_MULTISUB_SECTIONS, LABEL_NEVER_EXPIRES, LABEL_NEVER_INSPIRES, LABEL_NEW_CLABEL, LABEL_NEW_FRAME, LABEL_NEW_PL_MEMBER, LABEL_NEW_SECTION, LABEL_NEW_SUBSCRIPTION, LABEL_NEW_TEMPLATE, LABEL_NEW_ZPAD_NAME, LABEL_NO_COLOR, LABEL_NO_ENTRY_SPECIFIC_PROPERTIES, LABEL_NO_FRAME, LABEL_NO_TEMPLATE_PREFERENCE, LABEL_NOT_AT_THIS_PL, LABEL_NOT_IN_CLIENTMODE, LABEL_OBJECT_LOCATION, LABEL_OCCURRING_SUBSCRIPTION, LABEL_OPTIONS, LABEL_ORDER_PRICE, LABEL_OWN_CONTENTS_ONLY, LABEL_OWN_SECTIONS, LABEL_OWNER_VERSION, LABEL_PASSWORD, LABEL_PASSWORD_ERROR, LABEL_PL_MEMBERS, LABEL_PLUS_ASSOCIATES, LABEL_PRICE, LABEL_PRICE_PER_ITEM, LABEL_PRO_VERSION, LABEL_RECURSIVE_SUBSCRIPTION, LABEL_RED, LABEL_REPEAT_1, LABEL_REPEAT_2, LABEL_REPEAT_3, LABEL_REQUIRED, LABEL_RGB, LABEL_SELECT_ZPAD, LABEL_SELECTED_ZPAD, LABEL_SHARED_SUBSCRIPTION, LABEL_SHOWING_RESULT, LABEL_STARTPOINT, LABEL_SUBSCRIPTIONS, LABEL_SYSTEM_SUBSCRIPTIONS, LABEL_THIS_IS_HTML, LABEL_THIS_ZPAD, LABEL_TMPL_DESCRIPTOR, LABEL_TMPL_ID, LABEL_TMPL_LOOP, LABEL_TMPL_NOT_AVAILABLE, LABEL_TMPL_STUBCHARS, LABEL_TODAY, LABEL_TOPDOWN_SUBSCRIPTION, LABEL_TOTAL_PRICE, LABEL_TRANSLATION_URL, LABEL_UNCLASSIFIED, LABEL_UP_TO_USER, LABEL_USE_RANGE, LABEL_USER_NAME, LABEL_VOLUME_DISCOUNT, LABEL_WEEKLY, LABEL_WIDTH, LABEL_YEAR, LABEL_YEARLY, MARCH, MAY, MONDAY, MORE, NO_CONTENT_IN_PAGE, NOVEMBER, OCTOBER, PM, PRESSED_DATE_POPUP, PRESSED_EDIT_POPUP, PRESSED_FIND_POPUP, PRESSED_META_POPUP, PRESSED_PERSONALIZE_POPUP, PRESSED_PRIVL_POPUP, PRESSED_SECTION_POPUP, PRESSED_TOOLS_POPUP, QUESTION_ENTRY_TO_CLIPBOARD, QUESTION_OVERWRITE_BACKUP, QUESTION_REPLACE_WITH_BACKUP, QUESTION_SELECT_ADVANCED_VERSION, REMOVE, SATURDAY, SAVING_CONTENT, SEARCH_FOR_MANUAL, SEARCH_FOR_PRIVACY_LEVEL, SEARCH_FOR_PROVIDE_PL, SEARCH_FOR_RE_EXPORT, SEARCH_FOR_RE_MANUAL, SEARCH_FOR_SUBSCRIPTION, SEARCH_FOR_TIME, SEARCH_FOR_TYPE, SEPTEMBER, SHOULD_SYNC, SUNDAY, TEMPLATE_NOT_AVAILABLE, THURSDAY, TITLE_ADD_ALIAS, TITLE_ADD_APPLET, TITLE_ADD_EMBED, TITLE_ADD_HTML, TITLE_ADD_IMAGE, TITLE_ADD_IMPORT, TITLE_ADD_OBJECT, TITLE_ADD_TEXT, TITLE_ADD_TMPLD, TITLE_ADVANCED_ZPAD, TITLE_CHANGE_COVER, TITLE_CLABEL_DEFINITIONS, TITLE_CLABEL_SELECTION, TITLE_COPY_TO, TITLE_COVER_OPTIONS, TITLE_COVER_SECTIONS, TITLE_DATE_OFFSET, TITLE_DATE_SECTIONS, TITLE_DATE_SPEC, TITLE_DESTINATION, TITLE_EDIT_CATEGORIES, TITLE_EDIT_PRIVACY_GROUPS, TITLE_EDIT_SHEET, TITLE_ENTRY_ATTRIBS, TITLE_ENTRY_EXPIRATION, TITLE_ENTRY_INSPIRATION, TITLE_ENTRY_PARAMS, TITLE_ENTRY_PROPS, TITLE_EXPIRED_HANDLING, TITLE_EXTERNAL_SECTIONS, TITLE_FIND_ENTRY, TITLE_FIRST_SECTION, TITLE_IDENTIFY_YOURSELF, TITLE_INSTANT_COVER, TITLE_LAST_SECTION, TITLE_LOGIN_DIALOG, TITLE_MANIPULATE_SECTION, TITLE_MOVE_ENTRY, TITLE_MOVE_TO, TITLE_NAVIGATOR, TITLE_PERSONALIZE_SHEET, TITLE_PL_GROUPS, TITLE_REMOVE_ALIAS, TITLE_REMOVE_FILE, TITLE_REMOVE_IMAGE, TITLE_SELECT_DATE, TITLE_SELECT_PL, TITLE_SELECT_SECTION, TITLE_SELECT_TMPL, TITLE_SET_CLABEL_IMAGES, TITLE_SET_COLOR, TITLE_SET_COLORS, TITLE_SET_FRAME, TITLE_SET_HTML, TITLE_SET_PL, TITLE_START_SECTION, TITLE_STATISTICS, TITLE_SUBSCRIPTIONS, TITLE_TEMPLATE_PREFERENCE, TITLE_TOOLS_SHEET, TITLE_TRANSFER, TITLE_UPLOAD_FILE, TITLE_USER_SECTIONS, TO, TUESDAY, WEDNESDAY, ZPAD |
|
Constructor Summary |
WDate(int year,
int month,
int date)
Creates a new WDate. |
WDate(String dateString)
Creates a new WDate for the date indicated by 'dateString'. |
I18N_TODAY_STRING
public static String I18N_TODAY_STRING
MIN_YEAR
public static final int MIN_YEAR
- See Also:
- Constant Field Values
MAX_YEAR
public static final int MAX_YEAR
- See Also:
- Constant Field Values
_daysPast
protected int _daysPast
- The number of complete days since Monday January 1st, 1 AD.
year
public int year
- The year (e.g. 2002) -- READ-ONLY
month
public int month
- The month (between 1 and 12) -- READ-ONLY
date
public int date
- The day of the month (between 1 and 31) -- READ-ONLY
monthDefaultDays
protected static int[] monthDefaultDays
- The default number of days in each month of the year.
monthNames
protected static int[] monthNames
- The "names" of each month.
- See Also:
getMonthName(int)
dayOfWeekNames
protected static int[] dayOfWeekNames
- The "names" of the days of the week.
- See Also:
getDayOfWeekName(int)
_today
protected static WDate _today
_todayhours
protected static long _todayhours
_toString
protected String _toString
- A WDate is a fixed entity.
Therefore we can cache its toString result for efficiency.
WDate
public WDate(int year,
int month,
int date)
- Creates a new WDate. Values that are too low or too high will be adapted
in such a way that the resulting WDate is a legal date (e.g.
"December 32, 1998" becomes "January 1, 1999").
- Parameters:
year - the year (between MIN_YEAR and MAX_YEAR).month - the month (between 1 and 12).date - the day (between 1 and the number of days in month).- See Also:
isLegalDate(int, int, int)
WDate
public WDate(String dateString)
- Creates a new WDate for the date indicated by 'dateString'.
- Parameters:
dateString - @see isLegalDate(String)
todayString
public static String todayString()
today
public static WDate today()
- This function saves CPU cycles and garbage collection cycles.
getWeekNumber
public int getWeekNumber(int type)
- Calculates the date's week number.
Note: the way the calendar is drawn corresponds to type 1 and 2 only.
- Parameters:
type - One of 1, 2, 3, 4.
If 1: Week number 1 is defined as the first full week, first day-of-week is sunday.
If 2: Week number 1 is defined by the presence of Januari 1, first day-of-week is sunday.
If 3: Week number 1 is defined as the first full week, first day-of-week is monday.
If 4: Week number 1 is defined by the presence of Januari 1, first day-of-week is monday.
isLegalDate
public static boolean isLegalDate(int year,
int month,
int date)
- Check whether a specific date is a legal date. For legal dates the
'year' should be between MIN_YEAR and MAX_YEAR, 'month' should be
between 1 and 12 and 'date' should be between 1 and the number of days
in the specified month.
- Parameters:
year - the year to checkmonth - the month to checkdate - the day of the month to check
- Returns:
- true if the date is a legal date.
isLegalDate
public static boolean isLegalDate(String dateString)
- Parameters:
dateString - a String of the form "YYYYMMDD" or "YYYYMMDD+N"or "YYYYMMDD-N"
YYYY is a year between MIN_YEAR and MAX_YEAR
MM is a month between 01 and 12
DD is a date between 01 and the number of days in month MM
or "today" or "today+N" or "today-N"
And N is an positive integer.
- Returns:
- true if dateString can succesfully be used to
create or set a WDate.
- See Also:
isLegalDate(int, int, int)
clone
public Object clone()
- Construct a new WDate, equal to this.
- Overrides:
clone in class Object
getDayOfWeek
public int getDayOfWeek()
- Returns:
- the day of the week represented by this WDate
0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
The current implementation does not return the correct
day of the week for dates before September 14, 1752 AD.
toUserString
public String toUserString(boolean full)
- Get a descriptive representation of this date.
As an example, this method has been Localized
further than a simple string2string localization.
- Parameters:
full - affects the style of the string. true
for a longer representation (Februari 4, 1998), false
for a shorter one (Feb 4, 1998).
- Returns:
- a representation of this date that is readible to users.
toString
public String toString()
- Get a string representation of this date.
- Overrides:
toString in class Object
- Returns:
- a string of the form 'YearMMDD'.
compareTo
public int compareTo(Object other)
- Compare this WDate to another WDate.
- Specified by:
compareTo in interface Comparable
- Parameters:
other - the other WDate.
- Returns:
- the number of days that this date is ahead of 'other' (e.g. if
'this' is "July 22th, 1998" and 'other' is "July 12th, 1998" the result
will be 10).
equals
public boolean equals(Object other)
- Overrides:
equals in class Object
hashCode
public int hashCode()
- Overrides:
hashCode in class Object
_normalizeAndSetDaysPast
protected void _normalizeAndSetDaysPast()
- Calculate the number of days past.
isLeapYear
public static boolean isLeapYear(int year)
- Checks if the specified year is a leap year.
- Parameters:
year - the year to check.
- Returns:
- true if 'year' is a leap year, false otherwise.
daysInMonth
public static int daysInMonth(int year,
int month)
- Parameters:
a - month of the year (1-12)
- Returns:
- the number of days in the specified month in the current year.
Note that this method takes leap years into account.
daysInYearsPast
protected static int daysInYearsPast(int yearsPast)
- Parameters:
yearPast - the number of years since 1 AD.
- Returns:
- the number of days in yearsPast
getMonthName
public static String getMonthName(int month)
- Get the name of the nth month.
- Parameters:
month - the number of the month (between 1 and 12).
- Returns:
- the name of the month.
- Throws:
ArrayIndexOutOfBoundsException - if 'month' was not between
1 and 12.
getDayOfWeekName
public static String getDayOfWeekName(int dayOfWeek)
- Get the name of the nth day of the week.
- Parameters:
dayOfWeek - the number of the day (between 0 and 6, 0 is Sunday).
- Returns:
- the name of the day.
- Throws:
ArrayIndexOutOfBoundsException - if 'dayOfWeek' was not between
0 and 6.
Copyright © 1997-2008 Aduna. All Rights Reserved.