步骤:1在windows中将时区设置为(UTC-08:00)太平洋时间(美国和加拿大)。
步骤:2使用C程序检查time(&secs)的值,得到secs = 1386043600
步骤:3手动将时区更改为(UTC+05:30)钦奈、加尔各答、孟买、新德里。
步骤:4检查时间值(&secs)。我又得到了同样的值,secs = 1386043600
在这之后,我重新启动了机器,并再次检查了time(&secs)的值。
现在该值已更改为secs=1386046505。此值是否仅在重新启动系统后生效?

最佳答案

这是预期的行为。Atime_t值是自1970年1月1日午夜(格林尼治标准时间)以来的秒数,好像从那时起每台计算机都有一个计数器每秒递增1次,该值就是time()返回的值。它有意独立于您的计算机设置要使用的时区。

10-04 20:52