Wt  4.0.2
Public Member Functions | Static Public Member Functions | List of all members
Wt::WDateTime Class Reference

A calendar date and clock time. More...

#include <Wt/WDateTime.h>

Public Member Functions

 WDateTime ()
 Creates a Null datetime. More...
 
 WDateTime (const WDate &date)
 Creates a datetime given a date. More...
 
 WDateTime (const WDate &date, const WTime &time)
 Creates a datetime given a date and time. More...
 
 WDateTime (const std::chrono::system_clock::time_point timepoint)
 Creates a date time.
 
void setTime_t (std::time_t time)
 Sets the time in seconds from the Epoch. More...
 
void setTimePoint (const std::chrono::system_clock::time_point &timepoint)
 Sets the date time.
 
WDateTime addMSecs (int ms) const
 Adds milliseconds. More...
 
WDateTime addSecs (int s) const
 Adds seconds. More...
 
WDateTime addDays (int ndays) const
 Adds days. More...
 
WDateTime addMonths (int nmonths) const
 Adds months. More...
 
WDateTime addYears (int nyears) const
 Adds years. More...
 
bool isNull () const
 Returns if this datetime is Null. More...
 
bool isValid () const
 Returns if this datetime is valid. More...
 
void setDate (const WDate &date)
 Sets the date part. More...
 
const WDate date () const
 Returns the date part. More...
 
void setTime (const WTime &time)
 Sets the time part. More...
 
const WTime time () const
 Returns the time part. More...
 
std::time_t toTime_t () const
 Returns the number of seconds since the Epoch. More...
 
std::chrono::system_clock::time_point toTimePoint () const
 Returns the boost time. More...
 
WLocalDateTime toLocalTime (const WLocale &locale=WLocale::currentLocale()) const
 Converts to a local time. More...
 
int secsTo (const WDateTime &other) const
 Returns the difference between two datetime values (in seconds). More...
 
int daysTo (const WDateTime &other) const
 Returns the difference between two datetime values (in days). More...
 
WString timeTo (const WDateTime &other, std::chrono::seconds minValue=std::chrono::seconds{1}) const
 Returns the difference between two datetime values (as text). More...
 
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. More...
 
WString toString (const WString &format, bool localized=true) const
 Formats this time to a string using a specified format. More...
 

Static Public Member Functions

static WDateTime fromString (const WString &s)
 Parses a string to a time using a default format. More...
 
static WDateTime fromString (const WString &s, const WString &format)
 Parses a string to a time using a specified format. More...
 
static WDateTime currentDateTime ()
 Reports the current datetime (UTC clock). More...
 
static WDateTime fromTime_t (std::time_t seconds)
 Creates a date time based on a number of seconds since the Epoch. More...
 
static WDateTime fromTimePoint (const std::chrono::system_clock::time_point &datetime)
 Creates a date time from boost's date time type. More...
 

Detailed Description

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.

This class stores and represents the date time in UTC. To deal with local (wall clock) time, see WLocalDateTime. To convert from UTC to local time use toLocalTime().

i18n

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:

The default translations of Wt.WDateTime.seconds are "one second" and "{1} seconds". The WString::trn() function is used for the translation, so different strings can be provided for different plural forms. The placeholder {1} will be replaced by the actual number of seconds. The same keys also exist for minutes, hours, days, weeks, months and years.

Constructor & Destructor Documentation

Wt::WDateTime::WDateTime ( )

Creates a Null datetime.

A time for which isNull() returns true. A Null datetime is also invalid.

See also
isValid(), isNull()
Wt::WDateTime::WDateTime ( const WDate date)
explicit

Creates a datetime given a date.

The time is set to midnight (00:00). The datetime is valid if the date is valid.

Wt::WDateTime::WDateTime ( const WDate date,
const WTime time 
)

Creates a datetime given a date and time.

The datetime is valid if both date and time are valid.

Member Function Documentation

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.

Returns a null date if the current date time is invalid or the new date time is out of range.

See also
addMonths(), addYears()
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.

Returns a null date if the current date time is invalid or the new date time is out of range.

See also
addDays(), addYears()
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.

Returns a null date if the current date time is invalid or the new date time is out of range.

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.

Returns a null date if the current date time is invalid or the new date time is out of range.

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.

Returns a null date if the current date time is invalid or the new date time is out of range.

See also
addDays(), addMonths()
static WDateTime Wt::WDateTime::currentDateTime ( )
static

Reports the current datetime (UTC clock).

This method returns the datetime as indicated by the system clock of the server, in UTC.

const WDate Wt::WDateTime::date ( ) const

Returns the date part.

Returns the date part.

See also
time()
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.

Returns 0 if either date is invalid.

See also
secsTo()
static WDateTime Wt::WDateTime::fromString ( const WString s)
static

Parses a string to a time using a default format.

The default format is "ddd MMM d hh:mm:ss yyyy".

See also
WDate::fromString(), WTime::fromString().
static WDateTime Wt::WDateTime::fromString ( const WString s,
const WString format 
)
static

Parses a string to a time using a specified format.

The format is a string which mixes the format for WDate and WTime.

See also
WDate::fromString(), WTime::toString().
static WDateTime Wt::WDateTime::fromTime_t ( std::time_t  seconds)
static

Creates a date time based on a number of seconds since the Epoch.

See also
setTime_t()
static WDateTime Wt::WDateTime::fromTimePoint ( const std::chrono::system_clock::time_point &  datetime)
static

Creates a date time from boost's date time type.

See also
toPosixTime()
bool Wt::WDateTime::isNull ( ) const

Returns if this datetime is Null.

A null time is also invalid.

See also
isValid(), WDateTime()
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.

Returns 0 if either date is invalid.

See also
daysTo()
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.

See also
setTime()
void Wt::WDateTime::setTime ( const WTime time)

Sets the time part.

If no valid date is set, the time is not set either.

See also
setDate()
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).

See also
toTime_t()
const WTime Wt::WDateTime::time ( ) const

Returns the time part.

See also
setTime()
WString Wt::WDateTime::timeTo ( const WDateTime other,
std::chrono::seconds  minValue = std::chrono::seconds{1} 
) const

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.

Returns an empty string if either date is invalid.

See also
daysTo(), secsTo()
WLocalDateTime Wt::WDateTime::toLocalTime ( const WLocale locale = WLocale::currentLocale()) const

Converts to a local time.

The conversion is based on the fact that WDateTime represents UTC time.

This is the reverse of WLocalDateTime::toUTC()

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".

WString Wt::WDateTime::toString ( const WString format,
bool  localized = true 
) const

Formats this time to a string using a specified format.

The format is a string which mixes the format for WDate and WTime.

See also
WDate::toString(), WTime::toString()
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.

std::chrono::system_clock::time_point Wt::WDateTime::toTimePoint ( ) const

Returns the boost time.

See also
fromPosixTime()

Generated on Fri Nov 24 2017 for the C++ Web Toolkit (Wt) by doxygen 1.8.11