在PHP中使用DateTime,从$foo生成错误的unix纪元时间->;格式(';U';)

在PHP中使用DateTime,从$foo生成错误的unix纪元时间->;格式(';U';),php,datetime,time,epoch,Php,Datetime,Time,Epoch,我似乎无法从这个PHP DateTime对象中获得正确的Unix纪元时间 $startingDateTime=“2005/08/15 1:52:01 am” $foo=newdatetime($startingDateTime,newdatetimezone(“美国/纽约”)) echo$foo->format('U') 给 1124085121 这是周一,2005年8月15日00:52:01格林尼治标准时间-500(根据),但这是错误的一个小时 应该是1124088721,在周一,2005年8

我似乎无法从这个PHP DateTime对象中获得正确的Unix纪元时间

$startingDateTime=“2005/08/15 1:52:01 am”

$foo=newdatetime($startingDateTime,newdatetimezone(“美国/纽约”))

echo$foo->format('U')

1124085121

这是周一,2005年8月15日00:52:01格林尼治标准时间-500(根据),但这是错误的一个小时

应该是1124088721,在周一,2005年8月15日01:52:01格林威治标准时间-500时向我吐口水


任何帮助都将不胜感激。

这可能是epoch转换器的DST问题。我用另一个UTC时间和美国/纽约。我得到了正确的答案,我想你是对的。当我试图从数据库中取出数据并将其重新显示到屏幕上时,问题最终出现在后端。正在创建一个新的DateTime对象,并将UTC时间戳和时区传递给它。带有要显示的数据的DateTime对象正在解释UTC时间戳,就好像它没有偏移量一样