【发布时间】:2017-12-14 20:08:26
【问题描述】:
在编辑 php 文件时,它显示 DateTime 不是一个有效的方法,而且当我尝试使用它时,它会停止加载页面的其余部分,我是否必须实现一些东西?
我的目标是检查这些变量之间的差异是否超过 3 分钟。
我可以在几分钟内输出差异吗?
$arr["etime"]来自Y-m-d H:i:s格式的mysql查询。
$etime = $arr["etime"];
$datenow = date('Y-m-d H:i:s');
$datetimenow = new DateTime($datenow);
$datetimee = new DateTime($etime);
$datedifference = $datetimee->diff($datetimenow);
echo $datedifference->format("%H:%I:%S");
如果我只是输入$date = new DateTime('2000-01-01');,它不会在此之后加载页面的其余部分。
如果我输入$datetimenow = new DateTime();,页面的其余部分将不会加载。
使用异常处理,我收到:
PHP 致命错误:未捕获的异常“异常”
带有消息:
'DateTime::__construct(): 依赖系统的不安全 时区设置。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们暂时选择时区“UTC”,但请设置 date.timezone 以选择您的时区。'
【问题讨论】:
-
如果你只是尝试创建一个新的 DateTime,你会得到错误吗?
-
$arr["etime"]变量中有什么内容? PHP 是否能够将其转换为日期时间值? -
$arr["etime"] 是插入到 mysql 字段 etime date('Y-m-d H:i:s');
-
如果我只是把 $date = new DateTime('2000-01-01');在此之后它不会加载页面的其余部分。
-
这个
$datenow = date('Y-m-d H:i:s'); $datetimenow = new DateTime($datenow);的目的是什么,为什么不只是$datetimenow = new DateTime()
标签: php datetime time php-5.4 date-difference