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

Return value

pointer to a static internal std::tm object on success, or NULL 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.


#include <iostream>
#include <iomanip>
#include <ctime>
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';


UTC:   Wed Dec 28 11:47:03 2011 GMT
local: Wed Dec 28 06:47:03 2011 EST

See also

converts time since epoch to calendar time expressed as Universal Coordinated Time
C documentation for localtime

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.