C++官网参考链接:https://cplusplus.com/reference/ctime/ctime/
函数
<ctime>
ctime
char* ctime (const time_t * timer);
将time_t值转换为字符串
将由timer指向的值解释为日历时间,并将其转换为包含对应根据本地时间的时间和日期的人类可读版本的的C字符串。
返回的字符串格式如下:
Www Mmm dd hh:mm:ss yyyy
其中Www是工作日,Mmm是月份(用字母表示),dd是月份的日期,hh:mm:ss是时间,yyyy是年份。
字符串后面跟着一个换行字符('\n'),并以空字符结束。
这个函数等价于:
asctime(localtime(timer))
有关自定义日期格式的替代选项,请参阅strftime。
形参
timer
指向time_t类型对象的指针,该对象包含时间值。
time_t是一种基本算术类型(arithmetic type)的别名,它能够表示函数time返回的时间。
返回值
一个C字符串,以人类可读的格式包含日期和时间信息。
返回值指向一个内部数组,其有效性或值可能被后续对asctime或ctime的调用所改变。
用例
/* ctime example */
#include <stdio.h> /* printf */
#include <time.h> /* time_t, time, ctime */
int main ()
{
time_t rawtime;
time (&rawtime);
printf ("The current local time is: %s", ctime (&rawtime));
return 0;
}
输出:
数据竞争
该函数访问由timer指向的对象。
该函数还访问和修改共享内部缓冲区,这可能导致并发调用asctime或ctime时的数据竞争。有些库提供了避免这种数据竞争的替代函数:ctime_r(不可移植)。
异常(C++)
无抛出保证:此函数从不抛出异常。
另请参考
asctime Convert tm structure to string (function)
gmtime Convert time_t to tm as UTC time (function)
localtime Convert time_t to tm as local time (function)
time Get current time (function)