我time(NULL)
在 C 应用程序中使用该函数来获取自 1970 年以来的秒数。我注意到它返回的信息相差 1 小时。
然后我尝试使用 将结果转换为tm
结构localtime
,然后我注意到tm_isdst
正在设置该字段。
代码是这样的:
time_t tempo;
struct tm sttime;
memset( &sttime, 0, sizeof( sttime ) );
tempo = time( NULL );
printf( "%d\n", tempo );
sttime = *( localtime( &tempo ) );
sttime.tm_isdst = 0;
tempo = mktime( &sttime );
printf( "%d\n", tempo );
首先printf
,tempo
以一小时的差异打印。第二,它正在打印正确的值。
我正在操作系统中运行该应用程序Ms DOS 6.0
,并且该应用程序正在使用Watcom v1.3
.
信息从何Daylight Savings Time
而来?DOS 是否持有此信息?