2011-05-29 55 views
0

嗨, 一個人如何計算天過去,因爲喜歡它的API中的一個Twitter的輸出 例如日期:過去的文本日期天(自)PHP

週一7月12日00:27: 26 +0000 2010

到XXX

我們能用strtotime

謝謝你們,做塞米鬆

+0

試試這個:[strptime](http://php.net/manual/en/function.strptime.php) – 2011-05-29 20:43:04

回答

0

你可以那樣做(其中$your_date是你提到的字符串):

$diff = (time() - strtotime($your_date))/(24*60*60); 

在你的情況,當我做echo $diff;輸出是(當時我張貼的答案):

321.85475694444 

查看更多詳細信息strtotime()time()date()

希望這對你有所幫助。

1

兼容性注意:僅適用於PHP> = 5.3.0

提供的日期格式不會改變,你可以扭轉這一進程(即反向時間戳 - >字符串(在Twitters服務器上)到時間戳)使用確切的日期格式。的DateTime::createFromFormat手冊頁的使用下表:

<?php 
$str = 'Mon Jul 12 00:27:26 +0000 2010'; 
$oDateTime = DateTime::createFromFormat('D M d H:i:s T Y', $str); 
$unix_timestamp = $oDateTime->getTimestamp(); 
echo $unix_timestamp; 
?> 

當心:在我的機器,date('d-m-Y H:i:s', $unix_timestamp)相差兩個小時,機器的時區爲GMT + 2。

要計算兩個Unix的時間戳之間的天數之間的差異,使用數學(一天有86400秒):

echo ($unix_timestamp1 - $unix_timestamp2)/86400; 

如果你已經兩個這樣的日期,你可以使用DateTime::diff作爲建議的意見由Zerocrates。您已經使用DateTime::createFromFormat創建了兩個DateTime實例,並調用帶有兩個傳遞參數的DateTime::diff,此參數是以前創建的DateTime實例。返回的DateInterval實例有一個d屬性,其中包含天數的差異。
另一種方法是使用getTimestamp方法,根據前面的例子進行數學計算。

參考文獻:

+1

由於這已經創建了一個DateTime對象,所以你可以使用'DateTime :: diff'獲取DateInterval而不是獲取時間戳的當前時間。 – 2011-05-29 20:50:56