DateTime/DateInterval每次刷新添加25小时会得到完全不同的结果


DateTime/DateInterval adding 25 hours each refresh gives a completely different result

下面是我的代码:

$timezone = new 'DateTimeZone('America/New_York');
    $date1 = new 'DateTime (date("Y:m:d H:i:s", time()), $timezone);
    $date1->add(new 'DateInterval ("PT24H"));
    echo $date1->format('Y-m-d h:s:m');

这将使当前时间增加24小时。问题是,每次刷新页面,都会得到不同的结果。我指的不是像人们想象的几秒钟,我指的是很多分钟。有的高于实际时间,有的低于实际时间。

现在在9:51pm刷新三次,结果如下:2013-03-26 09:09:03,2013-03-26 09:17:03,2013-03-26 09:30:03

为什么我不能得到真实的时间?发生了什么事?

谢谢你的帮助!

错误在最后一个echo语句

echo $date1->format('Y-m-d h:s:m');

修改为:

echo $date1->format('Y-m-d h:i:s');

每次刷新刷新的是设置为秒而不是分钟的中间值,因此,例如,每3秒更新显示为3分钟更新。此外,你的分钟显示为m,这是月份数字的日期格式,所以它显示为3,用于3月的数字表示。我已将其更改为I以表示分钟。

我在伦敦得到了你上面的代码,代码如下:

$date1 = new DateTime('America/New_York');
$date1->add(new DateInterval("PT24H"));
echo $date1->format('Y-m-d h:i:s');

现在显示的是3月26日下午10:07,比纽约当前时间晚24小时