我希望db中的日期与当前日期之间有区别
那是我的代码:
$current_date = new \DateTime(date('Y-m-d H:i:s'));
foreach ($notifs as $notif) {
$created_notif = new \DateTime($notif->created);
$diff = date_diff($current_date, $created_notif);
if ($diff->y > 0) {
$notif->time = $diff->y . " year";
}
//..
}
这是我得到的错误:
DateTime :: __ construct():无法解析时间字符串(2016年5月17日 08:54)在0(1)位置:
并且不要说我没有搜索过DateTime::createFromFormat
有些事情是这样的:
$format = 'Y-m-d H:i:s';
$current_date = new \DateTime(date($format));
foreach ($notifs as $notif) {
$created_notif =\DateTime::createFromFormat($format,$notif->created);
$diff = date_diff($current_date, $created_notif);//line 32
debug($created_notif);//line 33
die();
这就是我得到的:
警告(2):date_diff()期望参数2为DateTimeInterface, 布尔给定[APP / Controller \ AdminController.php,第32行]
\ src \ Controller \ AdminController.php(第33行)
假
我需要你的帮助
答案 0 :(得分:5)
我认为,$notif->created
是17/05/2016 08:54
所以此时你应该使用
$created_notif = \DateTime::createFromFormat('d/m/Y H:i', $notif->created);
这就是为什么你没有得到DateTime
对象的原因,这就是为什么date_diff
不起作用的原因。