获取一年的夏令时 (DST)

Get daylight savings time (DST) for year

我正在使用 API,它需要时间序列数据中第一个间隔所在年份的 DST 详细信息。

例如,对于位于 America/Chicago 的帐户,我需要知道:

# If data starts in 2014
DST Start: 2014-03-09 02:00:00
DST Stop:  2014-11-02 02:00:00

# If data starts in 2009
DST Start: 2009-03-08 02:00:00
DST Stop:  2009-11-01 02:00:00

PHP 具有良好的数据时间功能,但我如何才能找到特定年份的 DST 详细信息?我不想求助于 adding/subtracting 任意间隔并检查日期是否在夏令时 $dt->format('I')

我知道 PHP 在内部使用 tzdata,其中包含所有这些详细信息,但它们公开了吗?有什么方法可以在 PHP 中本地获取该数据?如果没有,是否有 linux 我可以 exec() 的实用程序?

谢谢。

PHP的DateTimeZone class has a method called getTransitions()那个returns这个信息