0

我大约四年前写的一个程序,它获取日期和时间如下:

get_the_date_and_time(char *string) 
{
    struct tm *now;
    time_t lt;
    lt = time(NULL);
    now = localtime(&lt);
    sprintf(string,asctime(now));
}

自切换到夏令时以来,它正在返回一个小时后的时间。

通过将我的系统日期更改为 4 月 5 日,我得到了正确的时间。

我们已经对所涉及的项目进行了解决;这只是一个提醒。

我怀疑微软用于扩展夏令时扩展的夏令时模块,即使没有损坏,也有些损坏。

4

1 回答 1

3

听起来您的系统不知道由于 2005 年能源政策法案(从 2007 年起 DST 延长了一个月),美国夏令时的变化。

您使用的是哪个版本的 Windows,您是否使用 Windows 更新使其保持最新状态?

编辑:另外,这是静态链接还是动态链接,并且自从应用所有补丁等后您是否进行了重建?虽然我希望它从操作系统获取信息,但如果您静态链接,其中一些可能会被烘焙到您的可执行文件中。(伊克。)

于 2009-03-09T15:41:08.280 回答