我正在尝试衡量时差 我也在学习如何怀疑PHP ..
我将时间和日期保存为SQL作为datetime:
$now = new DateTime();
$datenow = $now->format('Y-m-d H:i:s');
$sql = "INSERT INTO Logg ( logdate , Log , value) VALUES ( '$datenow' , 'Log', '$value' )";
我现在可以进行查询并获取:
$result = mysqli_query( $conn , $sqlq );
while($row = mysqli_fetch_array($result)) {
$myLogdate = $row['logdate'];
我所追求的是能够检查之间的时间
$myLogdate
和
$now = new DateTime();
$datenow = $now->format('Y-m-d H:i:s');
我试过了:
$interval = $datenow->diff($myLogdate);
$elapsed = $interval->format('%y years %m months %a days %h hours %i minutes %s seconds');
echo $elapsed;
但我没有结果......
答案 0 :(得分:1)
您可以使用date_diff。
链接页面的示例:
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>
可能的格式列表可以是found here
答案 1 :(得分:0)
要查找日期差异,请尝试以下代码:
$interval = date_diff($datenow, $myLogdate);
echo $interval->format('%R%a days')
对于格式,间隔(例如“%R%a”表示+天)遵循http://php.net/manual/en/dateinterval.format.php。
答案 2 :(得分:0)
waka提供的解决方案是:
$then = new DateTime($myLogDate);
$interval = date_diff($now, $then);
echo $interval->format('%R%a days');