Home
Base module

DateTimeFormatter

This class converts dates and times into strings, supporting a variety of standard and custom formats.

DateTimeFormatter

#include <icy/datetime.h>
class DateTimeFormatter

Defined in src/base/include/icy/datetime.h:1142

This class converts dates and times into strings, supporting a variety of standard and custom formats.

There are two kind of static member functions:

  • format* functions return a std::string containin the formatted value.

  • append* functions append the formatted value to an existing string.

List of all members

NameKindOwner
formatfunctionDeclared here
formatfunctionDeclared here
formatfunctionDeclared here
formatfunctionDeclared here
appendfunctionDeclared here
appendfunctionDeclared here
appendfunctionDeclared here
appendfunctionDeclared here
tzdISOfunctionDeclared here
tzdRFCfunctionDeclared here
tzdISOfunctionDeclared here
tzdRFCfunctionDeclared here

Public Static Methods

ReturnNameDescription
std::stringformat static inlineFormats the given timestamp according to the given format. The format string is used as a template to format the date and is copied character by character except for the following special characters, which are replaced by the corresponding value.
std::stringformat static inlineFormats the given date and time according to the given format. See format(const Timestamp&, std::string_view, int) for more information.
std::stringformat static inlineFormats the given local date and time according to the given format. See format(const Timestamp&, std::string_view, int) for more information.
std::stringformat static inlineFormats the given timespan according to the given format. The format string is used as a template to format the date and is copied character by character except for the following special characters, which are replaced by the corresponding value.
voidappend static inlineFormats the given timestamp according to the given format and appends it to str.
voidappend staticFormats the given date and time according to the given format and appends it to str.
voidappend staticFormats the given local date and time according to the given format and appends it to str.
voidappend staticFormats the given timespan according to the given format and appends it to str.
std::stringtzdISO static inlineFormats the given timezone differential in ISO format. If timeZoneDifferential is UTC, "Z" is returned, otherwise, +HH.MM (or -HH.MM) is returned.
std::stringtzdRFC static inlineFormats the given timezone differential in RFC format. If timeZoneDifferential is UTC, "GMT" is returned, otherwise ++HHMM (or -HHMM) is returned.
voidtzdISO staticFormats the given timezone differential in ISO format and appends it to the given string. If timeZoneDifferential is UTC, "Z" is returned, otherwise, +HH.MM (or -HH.MM) is returned.
voidtzdRFC staticFormats the given timezone differential in RFC format and appends it to the given string. If timeZoneDifferential is UTC, "GMT" is returned, otherwise ++HHMM (or -HHMM) is returned.

format

static inline

static inline std::string format(const Timestamp & timestamp, std::string_view fmt, int timeZoneDifferential = UTC)

Defined in src/base/include/icy/datetime.h:1183

Formats the given timestamp according to the given format. The format string is used as a template to format the date and is copied character by character except for the following special characters, which are replaced by the corresponding value.

  • w - abbreviated weekday (Mon, Tue, ...)

  • W - full weekday (Monday, Tuesday, ...)

  • b - abbreviated month (Jan, Feb, ...)

  • B - full month (January, February, ...)

  • d - zero-padded day of month (01 .. 31)

  • e - day of month (1 .. 31)

  • f - space-padded day of month ( 1 .. 31)

  • m - zero-padded month (01 .. 12)

  • n - month (1 .. 12)

  • o - space-padded month ( 1 .. 12)

  • y - year without century (70)

  • Y - year with century (1970)

  • H - hour (00 .. 23)

  • h - hour (00 .. 12)

  • a - am/pm

  • A - AM/PM

  • M - minute (00 .. 59)

  • S - second (00 .. 59)

  • s - seconds and microseconds (equivalent to S.F)

  • i - millisecond (000 .. 999)

  • c - centisecond (0 .. 9)

  • F - fractional seconds/microseconds (000000 - 999999)

  • z - time zone differential in ISO 8601 format (Z or +NN.NN)

  • Z - time zone differential in RFC format (GMT or +NNNN)

  • %% - percent sign

Class DateTimeFormat defines format strings for various standard date/time formats.


format

static inline

static inline std::string format(const DateTime & dateTime, std::string_view fmt, int timeZoneDifferential = UTC)

Defined in src/base/include/icy/datetime.h:1190

Formats the given date and time according to the given format. See format(const Timestamp&, std::string_view, int) for more information.


format

static inline

static inline std::string format(const LocalDateTime & dateTime, std::string_view fmt)

Defined in src/base/include/icy/datetime.h:1196

Formats the given local date and time according to the given format. See format(const Timestamp&, std::string_view, int) for more information.


format

static inline

static inline std::string format(const Timespan & timespan, std::string_view fmt = "%dd %H:%M:%S.%i")

Defined in src/base/include/icy/datetime.h:1215

Formats the given timespan according to the given format. The format string is used as a template to format the date and is copied character by character except for the following special characters, which are replaced by the corresponding value.

  • d - days

  • H - hours (00 .. 23)

  • h - total hours (0 .. n)

  • M - minutes (00 .. 59)

  • m - total minutes (0 .. n)

  • S - seconds (00 .. 59)

  • s - total seconds (0 .. n)

  • i - milliseconds (000 .. 999)

  • c - centisecond (0 .. 9)

  • F - fractional seconds/microseconds (000000 - 999999)

  • %% - percent sign


append

static inline

static inline void append(std::string & str, const Timestamp & timestamp, std::string_view fmt, int timeZoneDifferential = UTC)

Defined in src/base/include/icy/datetime.h:1222

Formats the given timestamp according to the given format and appends it to str.

See format() for documentation of the formatting string.


append

static

static void append(std::string & str, const DateTime & dateTime, std::string_view fmt, int timeZoneDifferential = UTC)

Defined in src/base/include/icy/datetime.h:1229

Formats the given date and time according to the given format and appends it to str.

See format() for documentation of the formatting string.


append

static

static void append(std::string & str, const LocalDateTime & dateTime, std::string_view fmt)

Defined in src/base/include/icy/datetime.h:1236

Formats the given local date and time according to the given format and appends it to str.

See format() for documentation of the formatting string.


append

static

static void append(std::string & str, const Timespan & timespan, std::string_view fmt = "%dd %H:%M:%S.%i")

Defined in src/base/include/icy/datetime.h:1243

Formats the given timespan according to the given format and appends it to str.

See format() for documentation of the formatting string.


tzdISO

static inline

static inline std::string tzdISO(int timeZoneDifferential)

Defined in src/base/include/icy/datetime.h:1249

Formats the given timezone differential in ISO format. If timeZoneDifferential is UTC, "Z" is returned, otherwise, +HH.MM (or -HH.MM) is returned.


tzdRFC

static inline

static inline std::string tzdRFC(int timeZoneDifferential)

Defined in src/base/include/icy/datetime.h:1254

Formats the given timezone differential in RFC format. If timeZoneDifferential is UTC, "GMT" is returned, otherwise ++HHMM (or -HHMM) is returned.


tzdISO

static

static void tzdISO(std::string & str, int timeZoneDifferential)

Defined in src/base/include/icy/datetime.h:1260

Formats the given timezone differential in ISO format and appends it to the given string. If timeZoneDifferential is UTC, "Z" is returned, otherwise, +HH.MM (or -HH.MM) is returned.


tzdRFC

static

static void tzdRFC(std::string & str, int timeZoneDifferential)

Defined in src/base/include/icy/datetime.h:1266

Formats the given timezone differential in RFC format and appends it to the given string. If timeZoneDifferential is UTC, "GMT" is returned, otherwise ++HHMM (or -HHMM) is returned.

Public Types

NameDescription
``

enum 

Defined in src/base/include/icy/datetime.h:1145

ValueDescription
UTCSpecial value for timeZoneDifferential denoting UTC.