Wt: Wt::WLocalDateTime Class Reference

Wt 4.10.4

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
Wt::WLocalDateTime Class Reference

A localized calendar date and clock time. More...

`#include <Wt/WLocalDateTime.h>`

## Public Member Functions
| WLocalDateTime (const WLocale &locale=WLocale::currentLocale())
| Creates a Null datetime.
| WLocalDateTime (const WDate &date, const WTime &time, const WLocale &locale=WLocale::currentLocale())
| Creates a datetime given a date and time.
bool | isNull () const
| Returns if this datetime is Null.
bool | isValid () const
| Returns if this datetime is valid.
void | setDateTime (const WDate &date, const WTime &time)
| Sets the local date and time.
void | setDateTime (const WDate &date, const WTime &time, bool dst)
| Sets the local date and time, indicating day-light savings.
void | setDate (const WDate &date)
| Sets the date part.
WDate | date () const
| Returns the date part.
void | setTime (const WTime &time)
| Sets the time part.
WTime | time () const
| Returns the time part.
int | timeZoneOffset () const
| Returns the time zone offset.
const cpp20::date::time_zone * | timeZone () const
| Returns the time zone.
WDateTime | toUTC () const
| Converts to UTC.
WString | toString () const
| Formats this datetime to a string using the locale format.
WString | toString (const WString &format) const
| Formats this datetime to a string in a custom format.
bool | operator< (const WLocalDateTime &other) const
| Compares two values.
bool | operator== (const WLocalDateTime &other) const
| Compares two datetime values.
bool | operator!= (const WLocalDateTime &other) const
| Compares two datetime values.

## Static Public Member Functions
static WLocalDateTime | fromString (const WString &s, const WLocale &locale=WLocale::currentLocale())
| Parses a string to a time using the locale format.
static WLocalDateTime | currentDateTime (const WLocale &locale=WLocale::currentLocale())
| Reports the current datetime.
static WLocalDateTime | currentServerDateTime ()
| Reports the current local server time.

## Detailed Description

A localized calendar date and clock time.

This presents a localized date time, which represents a date time in a given locale.

It is recommended to only use this to display timestamps to the user, and use WDateTime (which stores UTC time) throughout your business logic. For this reason, this class does not contain any methods to calculate with time.

See also
  WDateTime::toLocalTime()

## Constructor & Destructor Documentation

## ◆ WLocalDateTime() [1/2]

Wt::WLocalDateTime::WLocalDateTime | ( | const WLocale & | locale = WLocale::currentLocale() | ) |

Creates a Null datetime.

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

See also
  isValid(), isNull()

## ◆ WLocalDateTime() [2/2]

Wt::WLocalDateTime::WLocalDateTime | ( | const WDate & | date,
|  | const WTime & | time,
|  | const WLocale & | locale = WLocale::currentLocale() )

Creates a datetime given a date and time.

The datetime is valid if both `date` and `time` are valid and the given time could correctly be interpreted in the local time zone:

- the time must exist (on the day that the time changes from 2AM to 3AM the time 2.30AM does not exist)
- the time must be unambiguous. On the day that time changes from 3AM to 2AM, the time 2.30AM is not unambiguous. In that case the ambiguity must be resolved by using setDateTime() indicating whether the time is day light savings time or not.

## Member Function Documentation

## ◆ currentDateTime()

static WLocalDateTime Wt::WLocalDateTime::currentDateTime | ( | const WLocale & | locale = WLocale::currentLocale() | ) |
| static

Reports the current datetime.

This method returns the current datetime in the given locale.

If no time zone has been configured for the given locale (locale.timeZone() is empty), then the offset is based on WEnvironment::timeZoneOffset().

## ◆ date()

WDate Wt::WLocalDateTime::date | ( |  | ) | const

Returns the date part.

Returns the date part.

See also
  time()

## ◆ fromString()

static WLocalDateTime Wt::WLocalDateTime::fromString | ( | const WString & | s,
|  | const WLocale & | locale = WLocale::currentLocale() )
| static

Parses a string to a time using the locale format.

See also
  WLocale::dateTimeFormat()

## ◆ isNull()

bool Wt::WLocalDateTime::isNull | ( |  | ) | const

Returns if this datetime is Null.

A null time is also invalid.

See also
  isValid(), WDateTime()

## ◆ isValid()

bool Wt::WLocalDateTime::isValid | ( |  | ) | const

Returns if this datetime is valid.

A date time is only valid if its date and time parts are valid.

## ◆ setDate()

void Wt::WLocalDateTime::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()

## ◆ setDateTime() [1/2]

void Wt::WLocalDateTime::setDateTime | ( | const WDate & | date,
|  | const WTime & | time )

Sets the local date and time.

The datetime is valid if both `date` and `time` are valid and the given time could correctly be interpreted in the local time zone:

- the time exists (on the day that the time changes from 2AM to 3AM the time 2.30AM does not exist)
- the time is unambiguous (on the day that time changes from 3AM to 2AM. the time 2.30AM is not unambigous). In the latter case, setDateTime(const WDate&, const WTime&, bool) may still be used.

## ◆ setDateTime() [2/2]

void Wt::WLocalDateTime::setDateTime | ( | const WDate & | date,
|  | const WTime & | time,
|  | bool | dst )

Sets the local date and time, indicating day-light savings.

The datetime is valid if both `date` and `time` are valid and the given time could correctly be interpreted in the local time zone with the indicated day light savings indication.

## ◆ setTime()

void Wt::WLocalDateTime::setTime | ( | const WTime & | time | ) |

Sets the time part.

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

See also
  setDate()

## ◆ time()

WTime Wt::WLocalDateTime::time | ( |  | ) | const

Returns the time part.

See also
  setTime()

## ◆ timeZone()

const cpp20::date::time_zone * Wt::WLocalDateTime::timeZone | ( |  | ) | const

Returns the time zone.

See also
  WLocale::setTimeZone()

## ◆ timeZoneOffset()

int Wt::WLocalDateTime::timeZoneOffset | ( |  | ) | const

Returns the time zone offset.

This returns the time zone offset to UTC in minutes. A positive value thus means that the local time is ahead of UTC.

Exceptions

  WException | if this object was initialized without timezone information

## ◆ toString() [1/2]

WString Wt::WLocalDateTime::toString | ( |  | ) | const

Formats this datetime to a string using the locale format.

See also
  WLocale::dateTimeFormat()

## ◆ toString() [2/2]

WString Wt::WLocalDateTime::toString | ( | const WString & | format | ) | const

Formats this datetime to a string in a custom format.

See also
  WLocale::dateTimeFormat()

## ◆ toUTC()

WDateTime Wt::WLocalDateTime::toUTC | ( |  | ) | const

Converts to UTC.

This is the reverse of WDateTime::toLocalTime()