我希望用php找到两次之间的分钟。我已经从Stack上的其他问题中找到了答案并研究了PHP手册。在我的情况下,我得到一个存储在数据库中的DATETIME,并将其与NOW进行比较。我认为我的问题在于格式化问题。我会发布我放在一起的东西。
$order_start = $obj->order_start; //getting detetime from database query
$order_start = DateTime::createFromFormat('Y-m-d h:i:s', $order_start);
$order_start= $order_start->format('Y-m-d h:i:s'); //format detetime
$now_date = date('Y-m-d h:i:s'); //get now time
$diff=date_diff($order_time,$now_date); //get difference
$diff=$diff->format("%i minutes"); //format difference
所以这里发生了什么。当我使用此行$diff=$diff->format("%i minutes");
我的印象是我必须使用$order_start = DateTime::createFromFormat('Y-m-d h:i:s', $order_start);
格式化数据库中的日期。
$ order_start echo' s 2017-07-31 01:44:25
$ now_date echo' s 2017-07-31 04:43:59
看起来格式相同,但可能不是?
现在,我试图了解这些时间之间的差异,并将结果格式化以显示分钟数。
提前感谢您的建议!如果这里有更好的文章,请告诉我。
我试过了 Echo Difference in Two Times
我也读过这篇文章试图找出格式。 http://php.net/manual/en/dateinterval.format.php
答案 0 :(得分:0)
您可以将日期转换为timestamp
并获取差异,然后相应地对其进行格式化。像这样使用
echo date('H:i:s',(strtotime($now_date)-strtotime($order_start)));
在你的情况下使用像这样
echo date('h:i:s',(strtotime("2017-07-31 01:44:25")-strtotime("2017-07-31 04:43:59")));