嗨, 一個人如何計算天過去,因爲喜歡它的API中的一個Twitter的輸出 例如日期:過去的文本日期天(自)PHP
週一7月12日00:27: 26 +0000 2010
到XXX
我們能用strtotime
謝謝你們,做塞米鬆
嗨, 一個人如何計算天過去,因爲喜歡它的API中的一個Twitter的輸出 例如日期:過去的文本日期天(自)PHP
週一7月12日00:27: 26 +0000 2010
到XXX
我們能用strtotime
謝謝你們,做塞米鬆
你可以那樣做(其中$your_date
是你提到的字符串):
$diff = (time() - strtotime($your_date))/(24*60*60);
在你的情況,當我做echo $diff;
輸出是(當時我張貼的答案):
321.85475694444
查看更多詳細信息strtotime()
,time()
和date()
。
希望這對你有所幫助。
兼容性注意:僅適用於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
方法,根據前面的例子進行數學計算。
參考文獻:
由於這已經創建了一個DateTime對象,所以你可以使用'DateTime :: diff'獲取DateInterval而不是獲取時間戳的當前時間。 – 2011-05-29 20:50:56
試試這個:[strptime](http://php.net/manual/en/function.strptime.php) – 2011-05-29 20:43:04