Defined in header <ctime> | ||
---|---|---|
std::tm* localtime( const std::time_t *time ); |
Converts given time since epoch as std::time_t
value into calendar time, expressed in local time.
time | - | pointer to a time_t object to convert |
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.
This function may not be 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
.
#include <iostream> #include <iomanip> #include <ctime> #include <stdlib.h> // defines putenv in POSIX int main() { std::time_t t = std::time(nullptr); std::cout << "UTC: " << std::put_time(std::gmtime(&t), "%c %Z") << '\n'; std::cout << "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\n'; // POSIX-specific: std::string tz = "TZ=Asia/Singapore"; putenv(tz.data()); std::cout << "Singapore: " << std::put_time(std::localtime(&t), "%c %Z") << '\n'; }
Output:
converts time since epoch to calendar time expressed as Universal Coordinated Time (function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/chrono/c/localtime