std::localtime (3) - Linux Manuals

std::localtime: std::localtime

NAME

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:


  UTC: Fri Sep 15 14:16:29 2017 GMT
  local: Fri Sep 15 14:16:29 2017 UTC
  Singapore: Fri Sep 15 22:16:29 2017 SGT

See also


       converts time since epoch to calendar time expressed as Universal Coordinated Time
gmtime (function)