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()Defined in src/base/include/icy/time.h:48
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()Defined in src/base/include/icy/time.h:52
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 = ISO8601Format)Defined in src/base/include/icy/time.h:58
Formats a broken-down time value using the given strftime format string.
Returns
Formatted time string.
Parameters
| Parameter | Type | Description |
|---|---|---|
dt | const std::tm & | Broken-down time to format. |
fmt | const char * | strftime format string (default: ISO8601Format). |
printLocal
std::string printLocal(const char * fmt = ISO8601Format)Defined in src/base/include/icy/time.h:63
Formats the current local time using the given strftime format string.
Returns
Formatted local time string.
Parameters
| Parameter | Type | Description |
|---|---|---|
fmt | const char * | strftime format string (default: ISO8601Format). |
printUTC
std::string printUTC(const char * fmt = ISO8601Format)Defined in src/base/include/icy/time.h:68
Formats the current UTC time using the given strftime format string.
Returns
Formatted UTC time string.
Parameters
| Parameter | Type | Description |
|---|---|---|
fmt | const char * | strftime format string (default: ISO8601Format). |
toLocal
std::tm toLocal(const std::time_t & time)Defined in src/base/include/icy/time.h:74
Converts a time_t value to a broken-down local time structure. Uses thread-safe native functions (localtime_r / localtime_s).
Returns
Broken-down local time.
Parameters
| Parameter | Type | Description |
|---|---|---|
time | const std::time_t & | UTC time value to convert. |
toUTC
std::tm toUTC(const std::time_t & time)Defined in src/base/include/icy/time.h:80
Converts a time_t value to a broken-down UTC time structure. Uses thread-safe native functions (gmtime_r / gmtime_s).
Returns
Broken-down UTC time.
Parameters
| Parameter | Type | Description |
|---|---|---|
time | const std::time_t & | UTC time value to convert. |
getLocal
std::string getLocal()Defined in src/base/include/icy/time.h:84
Returns the current local time as an ISO8601 formatted string.
Returns
ISO8601 local time string.
getUTC
std::string getUTC()Defined in src/base/include/icy/time.h:88
Returns the current UTC time as an ISO8601 formatted string.
Returns
ISO8601 UTC time string.
hrtime
uint64_t hrtime()Defined in src/base/include/icy/time.h:92
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 = INT64_C(1000)Defined in src/base/include/icy/time.h:30
Constants for calculating time.
kNumMicrosecsPerSec
static
const int64_t kNumMicrosecsPerSec = INT64_C(1000000)Defined in src/base/include/icy/time.h:31
kNumNanosecsPerSec
static
const int64_t kNumNanosecsPerSec = INT64_C(1000000000)Defined in src/base/include/icy/time.h:32
kNumMicrosecsPerMillisec
static
const int64_t kNumMicrosecsPerMillisec = kNumMicrosecsPerSec / kNumMillisecsPerSecDefined in src/base/include/icy/time.h:34
kNumNanosecsPerMillisec
static
const int64_t kNumNanosecsPerMillisec = kNumNanosecsPerSec / kNumMillisecsPerSecDefined in src/base/include/icy/time.h:35
kNumNanosecsPerMicrosec
static
const int64_t kNumNanosecsPerMicrosec = kNumNanosecsPerSec / kNumMicrosecsPerSecDefined in src/base/include/icy/time.h:36
ISO8601Format
static
const char * ISO8601Format = "%Y-%m-%dT%H:%M:%SZ"Defined in src/base/include/icy/time.h:44
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
