# 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\n

- `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 std::time_t that result in the string longer than 25 characters (e.g. year 10000).

### Example

Run this code

    #include <cassert>
    #include <cstring>
    #include <ctime>
    #include <iostream>

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

        char buffer[32];
        std::strncpy(buffer, std::ctime(&result), 26);
        assert('\n' == buffer[std::strlen(buffer) - 1]);
        std::cout << buffer;
    }

Possible output:

    Mon Oct 11 17:10:55 2021
    Mon Oct 11 17:10:55 2021

### See also

asctime | converts a std::tm object to a textual representation (function)
strftime | converts a std::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)
C documentation for ctime

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