加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – DateTime / DateInterval每次刷新增加25小时会产生完全不

发布时间:2020-12-13 17:44:41 所属栏目:PHP教程 来源:网络整理
导读:这是我的代码: $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小时到当前时间.问题是,
这是我的代码:

$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:51 pm三次刷新给出以下结果: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小时

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读