2012-11-26 31 views
0

我有以下形式的PHP字符串:「[星期五,2012年11月23日20時00分18秒+0000]」PHP時間和日期的解析和差異

我想問過了多少時間從那時起,如果是1天和5小時等。 我該如何有效地做到這一點?

謝謝!

回答

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"); 
1

有效的方法是將字符串轉換爲unix時間戳,並根據此時間完成您的邏輯。

1

你可以做

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

DateTime in PHP

0

功能的strtotime返回unixtime爲您的字符串 功能時間爲當前時間回報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); 
?>