C++官网参考链接:https://cplusplus.com/reference/ctime/time/
函数
<ctime>
time
time_t time (time_t* timer);
获取当前时间
获取当前日历时间作为time_t类型的值。
函数返回这个值,如果实参不是空指针,它也将这个值设置为timer所指向的对象。
返回值通常表示从UTC1970年1月1日00:00小时(即当前unix时间戳)开始的秒数。尽管库可能使用不同的时间表示:可移植程序不应该直接使用此函数返回的值,而总是依赖于对标准库的其他元素的调用,将它们转换为可移植类型(如localtime,gmtime或difftime)。
形参
timer
指向time_t类型对象的指针,时间值存储在其中。
或者,此形参可以是空指针,在这种情况下不使用形参(函数仍然返回time_t类型的值作为结果)。
返回值
当前日历时间作为time_t对象。
如果实参不是空指针,则返回值与实参timer所指向的位置中存储的值相同。
如果函数不能获取到日历时间,它将返回-1值。
time_t是能够表示时间的基本算术类型(arithmetic type)的别名。
用例
/* time example */
#include
#include
int main ()
{
time_t timer;
struct tm y2k = {0};
double seconds;
y2k.tm_hour = 0; y2k.tm_min = 0; y2k.tm_sec = 0;
y2k.tm_year = 100; y2k.tm_mon = 0; y2k.tm_mday = 1;
time(&timer); /* get current time; same as: timer = time(NULL) */
seconds = difftime(timer,mktime(&y2k));
printf ("%.f seconds since January 1, 2000 in the current timezone", seconds);
return 0;
}
可能的输出:
数据竞争
被timer(如果不是空指针)指向的对象被修改。
异常(C++)
无抛出保证:此函数从不抛出异常。