0

我有以下形式的 PHP 字符串:“[Fri, 23 Nov 2012 20:00:18 +0000]”

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

谢谢!!

4

4 回答 4

1

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

于 2012-11-26T15:24:58.767 回答
1

你可以做

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

PHP中的日期时间

于 2012-11-26T15:27:21.593 回答
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");
于 2012-11-26T15:47:23.823 回答
0

函数strtotime为您的字符串返回 unixtime 函数time返回当前时间的 unixtime。两个函数都以秒为单位返回时间。你猫减去它并以秒为单位获得间隔

<?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);
?>
于 2012-11-26T15:35:40.023 回答