Php 获取UTC偏移量在特定时区发生变化时的日期
PHP中是否有函数可以在时区UTC偏移量发生变化时获取日期?例如:Php 获取UTC偏移量在特定时区发生变化时的日期,php,date,datetime,timezone,Php,Date,Datetime,Timezone,PHP中是否有函数可以在时区UTC偏移量发生变化时获取日期?例如: $date1 = new DateTime('27.03.2016 03:00:00', new DateTimeZone('Europe/Warsaw') ); echo $date1->getOffset(); 它返回7200 这是: $date2 = new DateTime('27.03.2016 01:00:00', new DateTimeZone('Europe/Warsaw') ); echo $date
$date1 = new DateTime('27.03.2016 03:00:00', new DateTimeZone('Europe/Warsaw') );
echo $date1->getOffset();
它返回7200
这是:
$date2 = new DateTime('27.03.2016 01:00:00', new DateTimeZone('Europe/Warsaw') );
echo $date2->getOffset();
返回3600。
通过运行此命令,我知道UTC在特定日期的偏移量,但我不知道UTC变化的确切日期
当然,我可以循环一年中所有的日子(精确到分钟),并找出具体的时间,但。。。PHP知道这个日期,我认为一定有一种方法——用简单的函数来获得它!
在以下位置找不到任何内容:您可以使用
日期时区::getTransitions()
:
将打印如下内容:
[101] => Array
(
[ts] => 1445734800
[time] => 2015-10-25T01:00:00+0000
[offset] => 3600
[isdst] =>
[abbr] => CET
)
[102] => Array
(
[ts] => 1459040400
[time] => 2016-03-27T01:00:00+0000
[offset] => 7200
[isdst] => 1
[abbr] => CEST
)
[103] => Array
(
[ts] => 1477789200
[time] => 2016-10-30T01:00:00+0000
[offset] => 3600
[isdst] =>
[abbr] => CET
)
[104] => Array
(
[ts] => 1490490000
[time] => 2017-03-26T01:00:00+0000
[offset] => 7200
[isdst] => 1
[abbr] => CEST
)
您可以使用“开始日期”和“结束日期”参数限制所需的转换。谢谢,这正是我想要的。我已编辑了您的答案,以在数组中显示当前年份的值。
[101] => Array
(
[ts] => 1445734800
[time] => 2015-10-25T01:00:00+0000
[offset] => 3600
[isdst] =>
[abbr] => CET
)
[102] => Array
(
[ts] => 1459040400
[time] => 2016-03-27T01:00:00+0000
[offset] => 7200
[isdst] => 1
[abbr] => CEST
)
[103] => Array
(
[ts] => 1477789200
[time] => 2016-10-30T01:00:00+0000
[offset] => 3600
[isdst] =>
[abbr] => CET
)
[104] => Array
(
[ts] => 1490490000
[time] => 2017-03-26T01:00:00+0000
[offset] => 7200
[isdst] => 1
[abbr] => CEST
)