你如何根据PHP中的EST计算纪元时间

时间:2013-06-12 20:30:45

标签: php

我想把今天的日子与$ Time变量结合起来,我会从其他地方得到它们,今天和时间合并,然后将它们转换为时代。

这就是我所拥有的:

$Time='16:26:00';
$now = new DateTime(null, new DateTimeZone('EST'));
$today=$now->format('Y-m-d');
$today= $today . ' '. $Time;
$today=new DateTime($today, new DateTimeZone('EST'));
$today=date_format($today, 'U');
$today=$today*1000;

当我今天回应时,我的时间标记比我提前4小时,任何想法我可能会在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

Unix时间始终以UTC计算(请参阅the definition),因此看起来date_format($today, 'U')正在将时区调整回UTC。

如果要使用时区修改unix时间戳,可以使用getOffset来获取UTC的时区偏移量。此值以秒为单位,因此您只需将其添加到unix时间戳即可。

请注意,结果将不再是unix时间戳。

如果您只需要处理EST,则可以减去18000秒(或14400秒的EDT)。