我有以下形式的 PHP 字符串:“[Fri, 23 Nov 2012 20:00:18 +0000]”
我想问一下从那以后过去了多少时间,如果是1天5小时等。我怎样才能有效地做到这一点?
谢谢!!
有效的方法是将字符串转换为 unix 时间戳并根据它执行您的逻辑。
你可以做
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->d;
?>
$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");
函数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);
?>