std::ctime (3) - Linux Manuals

std::ctime: std::ctime


std::ctime - std::ctime


Defined in header <ctime>
char* ctime( const std::time_t* time );

Converts given time since epoch to a calendar local time and then to a textual representation, as if by calling std::asctime(std::localtime(time)). The resulting string has the following format:

  Www Mmm dd hh:mm:ss yyyy

* Www - the day of the week (one of Mon, Tue, Wed, Thu, Fri, Sat, Sun).
* Mmm - the month (one of Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec).
* dd - the day of the month
* hh - hours
* mm - minutes
* ss - seconds
* yyyy - years

The function does not support localization.


time - pointer to a std::time_t object specifying the time to print

Return value

Pointer to a static null-terminated character string holding the textual representation of date and time. The string may be shared between std::asctime and std::ctime, and may be overwritten on each invocation of any of those functions.


This function returns a pointer to static data and is not thread-safe. In addition, it modifies the static std::tm object which may be shared with std::gmtime and std::localtime. POSIX marks this function obsolete and recommends std::strftime instead.
The behavior may be undefined for the values of time_t that result in the string longer than 25 characters (e.g. year 10000)


// Run this code

  #include <ctime>
  #include <iostream>

  int main()
      std::time_t result = std::time(nullptr);
      std::cout << std::ctime(&result);


  Tue Dec 27 17:21:29 2011

See also

         converts a tm object to a textual representation
asctime (function)
         converts a tm object to custom textual representation
strftime (function)

put_time formats and outputs a date/time value according to the specified format
         (function template)