< cpp‎ | chrono‎ | c
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.


[edit] Parameters

time - pointer to a time_t object to convert

[edit] 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.

[edit] 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.

[edit] Example

#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

[edit] See also

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