time_t是否按时间()区域返回?

SiL*_*oNG 8 c c++ time timezone

我刚接触<time.h>并且有关于time_t和的问题time().

我读了函数time(),记录如下:

time_t time(time_t*timer); 获取当前时间

获取当前日历时间作为time_t对象.

该函数返回此值,如果参数不是空指针,则该值也设置为timer指向的对象.

文档没有谈论时区.

因此,对于以下C++代码:

time_t t = time(NULL);

如果两台机器(一台在美国,另一台在英国)同时执行函数调用time(NULL),返回的time_t对象是否相同?

time()会返回一个值而不考虑时区吗?

sas*_*ang 9

不,它不是区域特定的.它返回一个值,该值是UTC自1970年1月1日以来的秒数,忽略闰秒.因此(原则上)如果两台机器在同一时间执行调用,则返回的值将是相同的,即使它们在两个不同的时区中工作.