【问题标题】:Check if DST is set for specific date and time检查是否为特定日期和时间设置了 DST
【发布时间】:2009-10-22 14:08:46
【问题描述】:

我正在尝试使用纯 c 检查 DST 是否设置在特定日期和时间。我测试了 gmtime 和 localtime,但这些函数只处理当前系统 DST。

感谢您的建议。 托马斯

【问题讨论】:

  • 你指的是夏令时吗?
  • 一般来说是个难题;添加计算机并没有让它变得更容易。根据地区的不同,DST 期间可能会在前一年确定。因此,在这些语言环境中,无法检查 DST 是否会完全适用于未来太远的日期。过去同样需要历史 DST 日期。
  • 设置夏令时是一项政治决定。无法确定 DST 是否设置在将来的特定日期和时间(和地点)。过去我真的不知道它在 C 中是如何工作的,但我希望库简单地忽略 DST ......在一千年后,DST 表将大于编译器本身!

标签: c unix datetime


【解决方案1】:

尝试使用ziczdump。使用 man 获取更多信息。

当我需要知道 DST 而不保存 6MB 的编译数据时,我修改了 zic 的代码以创建一个包含所需数据的更小的表。

【讨论】:

    猜你喜欢
    • 2013-10-31
    • 2012-05-27
    • 2021-12-18
    • 1970-01-01
    • 2017-03-13
    • 2014-08-26
    • 1970-01-01
    • 2017-10-25
    相关资源
    最近更新 更多