std::localtime (3) Linux Manual Page
std::localtime – std::localtime
Synopsis
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.
Parameters
time – pointer to a time_t object to convert
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.
Notes
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.
Example
// Run this code
#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:
See also
gmtime (function)
