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\n
Www
- the day of the week (one ofMon
,Tue
,Wed
,Thu
,Fri
,Sat
,Sun
).Mmm
- the month (one ofJan
,Feb
,Mar
,Apr
,May
,Jun
,Jul
,Aug
,Sep
,Oct
,Nov
,Dec
).dd
- the day of the monthhh
- hoursmm
- minutesss
- secondsyyyy
- 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
#include <ctime> #include <cstring> #include <cassert> #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
converts a std::tm object to a textual representation (function) | |
converts a std::tm object to custom textual representation (function) | |
(C++11) |
formats and outputs a date/time value according to the specified format (function template) |