【问题标题】:Problem in Daylight Saving Time Switch夏令时切换问题
【发布时间】:2010-10-12 05:16:54
【问题描述】:

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

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 日,我得到了正确的时间。

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

我怀疑 Microsoft 用于扩展夏令时扩展的夏令时模块即使没有损坏,也有一定程度的损坏。

【问题讨论】:

    标签: c dst


    【解决方案1】:

    由于 2005 年能源政策法案(made DST a month longer from 2007 onwards),您的系统似乎不知道美国夏令时的变化。

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

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

    【讨论】:

    • 当他说“我怀疑微软的夏令时模组”时,我认为这意味着他已经应用了补丁。
    • 这是可能的——如果问题能得到澄清,那真的很有帮助。即使只是知道操作系统也是一个好的开始......
    猜你喜欢
    • 2017-03-14
    • 2012-04-07
    • 2013-11-15
    • 1970-01-01
    • 2015-06-07
    • 2011-11-20
    • 2011-11-20
    • 2013-02-19
    • 2013-01-30
    相关资源
    最近更新 更多