PHP时间和日期解析和差异

时间:2012-11-26 15:23:47

标签: php date

我有以下格式的PHP字符串:“[星期五,2012年11月23日20:00:18 +0000]”

我想问一下从那时起经过了多长时间,如果是1天5小时等等。 我怎样才能有效地做到这一点?

谢谢!

4 个答案:

答案 0 :(得分:1)

有效的方法是将字符串转换为unix时间戳,并根据该逻辑执行逻辑。

答案 1 :(得分:1)

你可以做到

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->d;
?>

DateTime in PHP

答案 2 :(得分:0)

函数 strtotime 为您的字符串返回了unixtime 功能时间返回当前时间的unixtime。 两种函数都以秒为单位返回时间你cat减去它并以秒为单位获得间隔

<?php
$logtime = strtotime("Fri, 23 Nov 2012 20:00:18 +0000");
$interval = time() - $logtime;
printf("Interval is: %d hours, %d minutes, %d sec.", 
        $interval/3600, ($interval%3600)/60, $interval%60);
?>

答案 3 :(得分:0)

$date = str_replace(array('[',']'),'',"[Fri, 23 Nov 2012 20:00:18 +0000]");

$diff = date_diff(date_create() , date_create($date));

echo $diff->format("Difference: %Y-%M-%d %H:%i:%s");