time
time
Classes and functions for handling time.
Functions
| Return | Name | Description |
|---|---|---|
std::time_t | now | Returns the current wall-clock time as a UTC time_t (seconds since epoch). |
double | clockSecs | Returns the elapsed process time in decimal seconds using a monotonic clock. |
std::string | print | Formats a broken-down time value using the given strftime format string. |
std::string | printLocal | Formats the current local time using the given strftime format string. |
std::string | printUTC | Formats the current UTC time using the given strftime format string. |
std::tm | toLocal | Converts a time_t value to a broken-down local time structure. Uses thread-safe native functions (localtime_r / localtime_s). |
std::tm | toUTC | Converts a time_t value to a broken-down UTC time structure. Uses thread-safe native functions (gmtime_r / gmtime_s). |
std::string | getLocal | Returns the current local time as an ISO8601 formatted string. |
std::string | getUTC | Returns the current UTC time as an ISO8601 formatted string. |
uint64_t | hrtime | Returns the current high-resolution monotonic time in nanoseconds. |
now
std::time_t now()Returns the current wall-clock time as a UTC time_t (seconds since epoch).
Returns
Current UTC time in seconds since the Unix epoch.
clockSecs
double clockSecs()Returns the elapsed process time in decimal seconds using a monotonic clock.
Returns
Process time in seconds.
std::string print(const std::tm & dt, const char * fmt)Formats a broken-down time value using the given strftime format string.
Parameters
dtBroken-down time to format.fmtstrftime format string (default: ISO8601Format).
Returns
Formatted time string.
printLocal
std::string printLocal(const char * fmt)Formats the current local time using the given strftime format string.
Parameters
fmtstrftime format string (default: ISO8601Format).
Returns
Formatted local time string.
printUTC
std::string printUTC(const char * fmt)Formats the current UTC time using the given strftime format string.
Parameters
fmtstrftime format string (default: ISO8601Format).
Returns
Formatted UTC time string.
toLocal
std::tm toLocal(const std::time_t & time)Converts a time_t value to a broken-down local time structure. Uses thread-safe native functions (localtime_r / localtime_s).
Parameters
timeUTC time value to convert.
Returns
Broken-down local time.
toUTC
std::tm toUTC(const std::time_t & time)Converts a time_t value to a broken-down UTC time structure. Uses thread-safe native functions (gmtime_r / gmtime_s).
Parameters
timeUTC time value to convert.
Returns
Broken-down UTC time.
getLocal
std::string getLocal()Returns the current local time as an ISO8601 formatted string.
Returns
ISO8601 local time string.
getUTC
std::string getUTC()Returns the current UTC time as an ISO8601 formatted string.
Returns
ISO8601 UTC time string.
hrtime
uint64_t hrtime()Returns the current high-resolution monotonic time in nanoseconds.
Returns
Current time in nanoseconds (suitable for measuring intervals).
Variables
| Return | Name | Description |
|---|---|---|
const int64_t | kNumMillisecsPerSec static | Constants for calculating time. |
const int64_t | kNumMicrosecsPerSec static | |
const int64_t | kNumNanosecsPerSec static | |
const int64_t | kNumMicrosecsPerMillisec static | |
const int64_t | kNumNanosecsPerMillisec static | |
const int64_t | kNumNanosecsPerMicrosec static | |
const char * | ISO8601Format static | The date/time format defined in the ISO 8601 standard. This is the default format used throughout the library for consistency. |
kNumMillisecsPerSec
static
const int64_t kNumMillisecsPerSec = (1000)Constants for calculating time.
kNumMicrosecsPerSec
static
const int64_t kNumMicrosecsPerSec = (1000000)kNumNanosecsPerSec
static
const int64_t kNumNanosecsPerSec = (1000000000)kNumMicrosecsPerMillisec
static
const int64_t kNumMicrosecsPerMillisec = kNumMicrosecsPerSec / kNumMillisecsPerSeckNumNanosecsPerMillisec
static
const int64_t kNumNanosecsPerMillisec = kNumNanosecsPerSec / kNumMillisecsPerSeckNumNanosecsPerMicrosec
static
const int64_t kNumNanosecsPerMicrosec = kNumNanosecsPerSec / kNumMicrosecsPerSecISO8601Format
static
const char * ISO8601Format = "%Y-%m-%dT%H:%M:%SZ"The date/time format defined in the ISO 8601 standard. This is the default format used throughout the library for consistency.
Examples: 2005-01-01T12:00:00+01:00 2005-01-01T11:00:00Z
