std::localtime - cppreference.com (original) (raw)
Converts given time since epoch as std::time_t value into calendar time, expressed in local time.
[edit] Parameters
[edit] Return value
Pointer to a static internal std::tm object on success, or null pointer otherwise. The structure may be shared between std::gmtime, std::localtime, and std::ctime, and may be overwritten on each invocation.
[edit] Notes
This function may not be thread-safe. The Microsoft CRT implementation is thread-safe.
POSIX requires that this function sets errno to EOVERFLOW if it fails because the argument is too large.
POSIX specifies that the timezone information is determined by this function as if by calling tzset, which reads the environment variable TZ.
[edit] Example
#include #include #include #include int main() { setenv("TZ", "/usr/share/zoneinfo/America/Los_Angeles", 1); // POSIX-specific std::tm tm{}; // Zero initialize tm.tm_year = 2020 - 1900; // 2020 tm.tm_mon = 2 - 1; // February tm.tm_mday = 15; // 15th tm.tm_hour = 10; tm.tm_min = 15; tm.tm_isdst = 0; // Not daylight saving std::time_t t = std::mktime(&tm); std::cout << "UTC: " << std::put_time(std::gmtime(&t), "%c %Z") << '\n'; std::cout << "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\n'; }
Possible output:
UTC: Sat Feb 15 18:15:00 2020 GMT local: Sat Feb 15 10:15:00 2020 PST