我正在开发一个世界时钟Web应用程序,希望添加一个功能来记录每个位置何时以及何时进行夏令时更改。我正在使用
DateTime
和DateTime::Timezone
CPAN模块,它们似乎提供了除此之外的所有可能的函数!DateTime::Timezone
是tz/Olson数据库的实现。到目前为止,我正在比较本地偏移和UTC,现在和24小时后都是如此,这使我能够标记影响,但不能确定确切时间。我的概念验证每分钟计算一次。我认为下一步要么是:
使用类似的方法创建一个查找表,用于识别接下来365天中受影响的日期,然后查看这些日期中的每个小时。
以某种方式解析
DateTime::Timezone
模块中的夏令时规则。
有什么想法吗?我应该指出我对Perl的了解非常基础。
编辑:
看起来另一个选择可能是将其移植到PHP并使用DateTimeZone::getTransitions
。这确实返回了一个包含所有转换的数组,但是PHP 5.3.0只添加了可选的timestamp_begin
和timestamp_end
参数以限制范围。
zdump -v America/New_York
- Grant McLean