# std::ctime

From cppreference.com
< cpp‎ | chrono‎ | c

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.

### Parameters

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.

### Notes

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)

### Example

Run this code

    #include <ctime>
    #include <iostream>

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

Output:

    Tue Dec 27 17:21:29 2011

### See also

asctime | converts a `tm` object to a textual representation (function)
strftime | converts a `tm` object to custom textual representation (function)
put_time (C++11) | formats and outputs a date/time value according to the specified format (function template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/chrono/c/ctime&oldid=86599"