我想把今天的日子与$ 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小时,任何想法我可能会在这里缺少什么?
答案 0 :(得分:2)
Unix时间始终以UTC计算(请参阅the definition),因此看起来date_format($today, 'U')
正在将时区调整回UTC。
如果要使用时区修改unix时间戳,可以使用getOffset
来获取UTC的时区偏移量。此值以秒为单位,因此您只需将其添加到unix时间戳即可。
请注意,结果将不再是unix时间戳。
如果您只需要处理EST,则可以减去18000
秒(或14400
秒的EDT)。