C++ 时间不是什么意思?

C++ 时间不是什么意思?,c++,visual-c++,C++,Visual C++,根据时间,t是自UTC 1970年1月1日午夜以来的秒数。因此,如果我调用这里记录的时间函数,返回的秒数是从历元到现在的UTC时间,还是由运行它的主机的标准时区调整的时间 而且,更重要的是,为什么没有记录呢?它包含了自纪元以来的时间,并根据本地时区进行了调整 time_t time(time_t *tloc) -- returns the time since 00:00:00 GMT, Jan. 1, 1970, measured in seconds. [无效] 该结构包含从纪元开始的时

根据时间,t是自UTC 1970年1月1日午夜以来的秒数。因此,如果我调用这里记录的时间函数,返回的秒数是从历元到现在的UTC时间,还是由运行它的主机的标准时区调整的时间


而且,更重要的是,为什么没有记录呢?

它包含了自纪元以来的时间,并根据本地时区进行了调整

time_t time(time_t *tloc) -- returns the time since 00:00:00 GMT, Jan. 1, 1970, measured in seconds. 
[无效]

该结构包含从纪元开始的时间(以秒为单位)、高达1000毫秒的更精确间隔、本地时区(以格林威治以西的时间分钟为单位测量)以及一个标志,如果该标志不为零,则表明白天节光时间在一年中的适当部分适用于本地

[/invalid]UTC。localtime()和伙伴映射到
当地时区

time\u t
是根据标准定义的实现,在VC++中,它只是
\u int64
typedef
。该值从
time()
返回:实现与当前日历时间的最佳近似值。如果未指定日历时间,则返回值(time_t)(-1)
可用。

通过将所有时间存储为UTC,您将节省大量工作。仅当需要显示时才转换为本地时间。在windows://timetest.cpp下运行以下程序:定义控制台应用程序的入口点。//#包括“stdafx.h”int_tmain(int argc,_TCHAR*argv[]){time_t now;time(&now);printf(“从纪元%ld开始的秒数),now);return now;}并返回一个时区设置为东部的时间。然后我关闭Visual C++,将我的时区改为太平洋,重新启动C++并重新运行程序,返回的时间比以前多了50秒,大约有多长时间运行程序。因此windows下的VC++库似乎返回UTC。当然,Loki。是什么让你相信我没有那么做?@Thom:我看。www.cplusplus.com漏掉了很多信息,有些信息完全是错的。(尤其是现在C++ 11已经出来)只是澄清:C和C++标准都不定义分辨率或划时代,但POSIX确实如此。我不知道你的机器“KEvdItMIM”,但是在我的上面,它是一个TyBufff,用于<代码>,y.64,< /代码>。正在插入修复程序…….您将其与
struct tm
混淆,请参见上面windows下的我关于时间的说明()。