|
UTILLib 2.0
Common C++ library with utilities.
|
Contains various conversion between different time formats. More...
#include <chrono>#include <filesystem>#include <string>#include <vector>
Go to the source code of this file.
Namespaces | |
| namespace | util |
| Main namespace for the util library. | |
| namespace | util::time |
| The time namespace is used for time and date functions. | |
Typedefs | |
| using | util::time::SystemClock = std::chrono::system_clock |
| Convenience type definition for std::chrono::system_clock;. | |
| using | util::time::TimeStamp = std::chrono::time_point<SystemClock> |
| Convenience type definition for std::chrono::time_point<std::chrono::system_time>;. | |
Functions | |
| std::string | util::time::GetLocalDateTime (TimeStamp timestamp=SystemClock::now()) |
| Converts a timestamp (UTC) to a local date and time string in the YYYY-MM-DD hh:mm:ss format. | |
| std::string | util::time::GetLocalTimestampWithMs (TimeStamp timestamp=SystemClock::now()) |
| Converts a timestamp (UTC) to a local dat and time string in the YYYY-MM-DD hh:mm:ss.ms format. | |
| std::string | util::time::GetLocalTimestampWithUs (TimeStamp timestamp=SystemClock::now()) |
| Converts a UTC timestamp to a local date and time string in the YYYY-MM-DD hh:mm:ss.us. | |
| std::string | util::time::NsToLocalIsoTime (uint64_t ns_since_1970) |
| Converts a nanosecond since 1970 timestamp to a local ISO date and time string. | |
| std::string | util::time::NsToIsoTime (uint64_t ns_since_1970, int format=0) |
| Converts a nanosecond since 1970 timestamp to a UTC ISO date and time string. | |
| uint64_t | util::time::IsoTimeToNs (const std::string &iso_time, bool local_time=false) |
| Converts an ISO UTC string (YYYY-MM-DD(T)hh:mm:ss to nanosecond since 1970. | |
| uint64_t | util::time::TimeStampToNs (TimeStamp timestamp=SystemClock::now()) |
| Converts system clock to ns since midnight 1970. | |
| std::string | util::time::NsToLocalDate (uint64_t ns_since_1970) |
| Formats a date string according to the local date format. | |
| std::string | util::time::NsToLocalTime (uint64_t ns_since_1970, int format=0) |
| Formats a time string according to the local time format. | |
| uint64_t | util::time::OdsDateToNs (const std::string &ods_date) |
| Converts an ODS date and time string to nanoseconds since 1970. | |
| uint64_t | util::time::FileTimeToNs (std::filesystem::file_time_type time) |
| Converts from std::filesystem file_clock to ns since 1970. | |
The central time is an uint64_t UTC nanoseconds since 1970-01-01. This is an extension of the ols time_t that is seconds since 1970-01-01. In general the std::chrono::system_clock is used as reference.
The nanosecond timestamp is used in communications and a general timestamp. This due to the fact that different system used different epoch for system clock. Note most system uses 1970-01-01 as epoch and is called POSIX time or UNIX time.