Wt
3.2.1
|
A calendar date and clock time. More...
#include <Wt/WDateTime>
Public Member Functions | |
WDateTime () | |
Creates a Null datetime. | |
WDateTime (const WDate &date) | |
Creates a datetime given a date. | |
WDateTime (const WDate &date, const WTime &time) | |
Creates a datetime given a date and time. | |
void | setTime_t (std::time_t time) |
Sets the time in seconds from the Epoch. | |
void | setPosixTime (const boost::posix_time::ptime &time) |
Sets the date time. | |
WDateTime | addMSecs (int ms) const |
Adds milliseconds. | |
WDateTime | addSecs (int s) const |
Adds seconds. | |
WDateTime | addDays (int ndays) const |
Adds days. | |
WDateTime | addMonths (int nmonths) const |
Adds months. | |
WDateTime | addYears (int nyears) const |
Adds years. | |
bool | isNull () const |
Returns if this datetime is Null. | |
bool | isValid () const |
Returns if this datetime is valid. | |
void | setDate (const WDate &date) |
Sets the date part. | |
const WDate | date () const |
Returns the date part. | |
void | setTime (const WTime &time) |
Sets the time part. | |
const WTime | time () const |
Returns the time part. | |
std::time_t | toTime_t () const |
Returns the number of seconds since the Epoch. | |
boost::posix_time::ptime | toPosixTime () const |
Returns the boost time. | |
int | secsTo (const WDateTime &other) const |
Returns the difference between two datetime values (in seconds). | |
int | daysTo (const WDateTime &other) const |
Returns the difference between two datetime values (in days). | |
WString | timeTo (const WDateTime &other, int minValue=1) const |
Returns the difference between two datetime values (as text). | |
bool | operator< (const WDateTime &other) const |
Compares two datetime values. | |
bool | operator<= (const WDateTime &other) const |
Compares two datetime values. | |
bool | operator> (const WDateTime &other) const |
Compares two datetime values. | |
bool | operator>= (const WDateTime &other) const |
Compares two datetime values. | |
bool | operator== (const WDateTime &other) const |
Compares two datetime values. | |
bool | operator!= (const WDateTime &other) const |
Compares two datetime values. | |
WString | toString () const |
Formats this datetime to a string using a default format. | |
WString | toString (const WString &format) const |
Formats this time to a string using a specified format. |
Static Public Member Functions | |
static WDateTime | fromString (const WString &s) |
Parses a string to a time using a default format. | |
static WDateTime | fromString (const WString &s, const WString &format) |
Parses a string to a time using a specified format. | |
static WDateTime | currentDateTime () |
Reports the current UTC datetime. | |
static WDateTime | fromTime_t (std::time_t seconds) |
Creates a date time based on a number of seconds since the Epoch. | |
static WDateTime | fromPosixTime (const boost::posix_time::ptime &datetime) |
Creates a date time from boost's date time type. |
A calendar date and clock time.
The date time class combines the functionality of a WDate (for a calendar date) and WTime (for clock time) into a single class.
Conventionally date time is assumed in UTC, which affects the behaviour of the following methods:
The strings returned by toString() and timeTo() can be localized. If the thread using a WDateTime is bound to a WApplication (i.e. WApplication::instance() does not return 0), the strings can be localized by overriding the default values for the localized string keys in the resource bundles of the WApplication. If the thread using a WDateTime is not bound to a WApplication (i.e. WApplication::instance() returns 0), english strings will be used.
For toString(), localization is handled through the i18n functionality of the WDate class. An invalid WDateTime is converted to a string as "Null":
The timeTo() method contains the following localized strings:
Wt::WDateTime::WDateTime | ( | ) |
|
explicit |
Creates a datetime given a date.
The time is set to midnight (00:00). The datetime is valid if the date
is valid.
Creates a datetime given a date and time.
The datetime is valid if both date
and time
are valid.
WDateTime Wt::WDateTime::addDays | ( | int | ndays | ) | const |
Adds days.
Returns a datetime that is ndays
later than this datetime. Negative values for ndays
will result in a datetime that is as many days earlier.
WDateTime Wt::WDateTime::addMonths | ( | int | nmonths | ) | const |
Adds months.
Returns a datetime that is the same day of the month, but nmonths
later than this date. Negative values for nmonths
will result in a datetime that is as many months earlier.
WDateTime Wt::WDateTime::addMSecs | ( | int | ms | ) | const |
Adds milliseconds.
Returns a datetime that is ms
milliseconds later than this datetime. Negative values for ms
will result in a datetime that is as many milliseconds earlier.
WDateTime Wt::WDateTime::addSecs | ( | int | s | ) | const |
Adds seconds.
Returns a datetime that is s
seconds later than this datetime. Negative values for s
will result in a datetime that is as many seconds earlier.
WDateTime Wt::WDateTime::addYears | ( | int | nyears | ) | const |
Adds years.
Returns a datetime that is nyears
later than this datetime. Negative values for nyears
will result in a datetime that is as many years earlier.
|
static |
Reports the current UTC datetime.
This method returns the datetime as indicated by the system clock of the server, in the UTC timezone.
const WDate Wt::WDateTime::date | ( | ) | const |
int Wt::WDateTime::daysTo | ( | const WDateTime & | other | ) | const |
Returns the difference between two datetime values (in days).
The result is negative if other is earlier than this.
|
static |
Creates a date time from boost's date time type.
Parses a string to a time using a default format.
The default format is "ddd MMM d hh:mm:ss yyyy".
Parses a string to a time using a specified format.
The format
is a string which mixes the format for WDate and WTime.
|
static |
Creates a date time based on a number of seconds since the Epoch.
bool Wt::WDateTime::isNull | ( | ) | const |
bool Wt::WDateTime::isValid | ( | ) | const |
Returns if this datetime is valid.
A date time is only valid if its date and time parts are valid.
int Wt::WDateTime::secsTo | ( | const WDateTime & | other | ) | const |
Returns the difference between two datetime values (in seconds).
The result is negative if other is earlier than this.
void Wt::WDateTime::setDate | ( | const WDate & | date | ) |
Sets the date part.
Changes the date part part, leaving the time unmodified. If no time was set, it is set to 00:00.
void Wt::WDateTime::setTime | ( | const WTime & | time | ) |
void Wt::WDateTime::setTime_t | ( | std::time_t | time | ) |
Sets the time in seconds from the Epoch.
The time
is the number of seconds since the Epoch (00:00:00 UTC, January 1, 1970).
Returns the difference between two datetime values (as text).
This returns a textual representation of the approximate difference between this time and other
. The textual representation returns the difference as a number of seconds, minutes, hours, days, weeks, months, or years, using the coarsest unit that is more than minValue
.
boost::posix_time::ptime Wt::WDateTime::toPosixTime | ( | ) | const |
Returns the boost time.
WString Wt::WDateTime::toString | ( | ) | const |
Formats this datetime to a string using a default format.
The default format is "ddd MMM d hh:mm:ss yyyy".
Formats this time to a string using a specified format.
The format
is a string which mixes the format for WDate and WTime.
std::time_t Wt::WDateTime::toTime_t | ( | ) | const |
Returns the number of seconds since the Epoch.
This returns the number of seconds since the Epoch (00:00:00 UTC, January 1, 1970) represented by this datetime.