Public Member Functions | |
WDate () | |
Construct a Null date. | |
WDate (int year, int month, int day) | |
Specify a date by year, month (1-12), and day (1-31). | |
void | setDate (int year, int month, int day) |
Set a date by year, month (1-12), and day (1-31). | |
bool | isNull () const |
Returns if this date is Null. | |
bool | isValid () const |
Returns if this date is valid. | |
int | year () const |
Year. | |
int | month () const |
Month (1-12). | |
int | day () const |
Day of month (1-31). | |
int | dayOfWeek () const |
Day of week (1-7). | |
int | daysTo (const WDate &d) const |
Returns the number of days from this date to d. | |
bool | operator< (const WDate &other) const |
Compare two dates. | |
bool | operator<= (const WDate &other) const |
Compare two dates. | |
bool | operator> (const WDate &other) const |
Compare two dates. | |
bool | operator>= (const WDate &other) const |
Compare two dates. | |
bool | operator== (const WDate &other) const |
Compare two dates. | |
bool | operator!= (const WDate &other) const |
Compare two dates. | |
WString | toString () const |
Format this date to a WString using a default format. | |
WString | toString (const WString &format) const |
Format this date to a WString using a specified format. | |
Static Public Member Functions | |
static WDate | fromString (const WString &s) |
Parse a WString to a date using a default format. | |
static WDate | fromString (const WString &s, const WString &format) |
Parse a WString to a date using a specified format. | |
static WDate | currentDate () |
Construct a date for the current client date. | |
static WDate | currentServerDate () |
Construct a date for the current server date. | |
static WString | shortDayName (int weekday) |
Returns the short day name. | |
static WString | shortMonthName (int month) |
Returns the short month name. | |
static WString | longDayName (int weekday) |
Returns the long day name. | |
static WString | longMonthName (int month) |
Returns the long month name. |
Class which holds a date on the gregorian calendar, specified as day/month/year.
A WDate may either specify a valid date, or be a Null date (using the default constructor WDate::WDate(), for which isNull() returns true).
A valid date may be specified by year, month, and day of month (using the WDate(int year, int month, int day) constructor, or the setDate() method). When attempting to specify an invalid date (with an impossible combination of year/month/date), isIvalid() will return false.
The class provides a flexibly way for converting between strings and dates. See toString() to convert to strings, and fromString() for parsing strings. The same format syntax is supported by both methods.
Simple operations are supported to compare dates, or to calculate with dates. These operations throw InvalidDateException when one of the dates is invalid.
FIXME: add localization support
Wt::WDate::WDate | ( | ) |
Wt::WDate::WDate | ( | int | year, | |
int | month, | |||
int | day | |||
) |
void Wt::WDate::setDate | ( | int | year, | |
int | month, | |||
int | day | |||
) |
Set a date by year, month (1-12), and day (1-31).
When the new date is invalid, isValid() is set to false.
bool Wt::WDate::isNull | ( | ) | const |
bool Wt::WDate::isValid | ( | ) | const [inline] |
int Wt::WDate::dayOfWeek | ( | ) | const |
Day of week (1-7).
Returns the day of week, from Monday (=1) to Sunday (=7).
WString Wt::WDate::toString | ( | ) | const |
Format this date to a WString using a specified format.
The format is a string in which the following contents has a special meaning.
Code | Meaning | Example (for Mon Aug 3 2007) |
d | The day as a one or two-digit number | 3 |
dd | The day as a two-digit number (with leading 0) | 03 |
ddd | The day abbreviated using shortDayName() | Mon |
dddd | The day abbreviated using longDayName() | Monday |
M | The month as a one or two-digit number | 8 |
MM | The month as a two-digit number (with leading 0) | 08 |
MMM | The month abbreviated using shortMonthName() | Aug |
MMMM | The month abbreviated using longMonthName() | August |
yy | The year as a two-digit number | 07 |
yyyy | The year as a four-digit number | 2007 |
Any other text is kept literally. String content between single quotes (') are not interpreted as special codes. Inside a string, a literal quote may be specifed using a double quote ('').
Example of format and result:
Format | Result (for Mon Aug 3 2007) |
ddd MMM d yyyy | Mon Aug 3 2007 |
dd/MM/yyyy | 03/08/2007 |
dddd, MMM d, yyyy | Wednesday, Aug 3, 2007 |
'MM': MM, 'd': d, 'yyyy': yyyy | MM: 08, d: 3, yyyy: 2007 |
Parse a WString to a date using a default format.
The default format is "ddd MMM d yyyy". For example, a date specified as:
"Wed Aug 29 2007"
WDate d(2007,8,29);
When the date could not be parsed or is not valid, an invalid date is returned (for which isValid() returns false).
Parse a WString to a date using a specified format.
The format follows the same syntax as used by toString(const WString& format).
When the date could not be parsed or is not valid, an invalid date is returned (for which isValid() returns false).
WDate Wt::WDate::currentDate | ( | ) | [static] |
Construct a date for the current client date.
This method uses browser information to retrieve the date that is configured in the client.
WDate Wt::WDate::currentServerDate | ( | ) | [static] |
Construct a date for the current server date.
This method returns the date as indicated by the system clock of the server.
WString Wt::WDate::shortDayName | ( | int | weekday | ) | [static] |
Returns the short day name.
Results (for given weekDay) are:
"Mon" (1),
"Tue" (2),
"Wed" (3),
"Thu" (4),
"Fri" (5),
"Sat" (6),
"Sun" (7).
WString Wt::WDate::shortMonthName | ( | int | month | ) | [static] |
Returns the short month name.
Results (for given month) are:
"Jan" (1),
"Feb" (2),
"Mar" (3),
"Apr" (4),
"May" (5),
"Jun" (6),
"Jul" (7),
"Aug" (8),
"Sep" (9),
"Oct" (10),
"Nov" (11),
"Dec" (12)
.
WString Wt::WDate::longDayName | ( | int | weekday | ) | [static] |
Returns the long day name.
Results (for given weekDay) are:
"Monday" (1),
"Tuesday" (2),
"Wednesday" (3),
"Thursday" (4),
"Friday" (5),
"Saturday" (6),
"Sunday" (7).
WString Wt::WDate::longMonthName | ( | int | month | ) | [static] |
Returns the long month name.
Results (for given month) are:
"January" (1),
"February" (2),
"March" (3),
"April" (4),
"May" (5),
"June" (6),
"July" (7),
"August" (8),
"September" (9),
"October" (10),
"November" (11),
"December" (12).