2012-09-20 43 views
1

之間的分鐘數說,我有一個日期是兩個日期

$future_time_ending = "2012-09-21 12:12:22" 

我如何制定出當前時間和$future_time_ending之間的分鐘數?

由於

+0

這是一個很好的答案,[這](http://stackoverflow.com/questions/365191/how-to-get-time-difference-in-minutes-in-php)帖子的副本。 – mbfisher

回答

7

一種方法:

$minutes = (strtotime("2012-09-21 12:12:22") - time())/60; 

strtotime日期轉換爲Unix時間戳 - 自Unix紀元的秒數​​。減去當前時間戳,並且您有當前時間和未來時間之間的秒數。除以60,結果在幾分鐘內。

如果你不知道某些你比較是在未來的時間做,取絕對值得到一個正數:

$minutes = abs(strtotime("2012-09-21 12:12:22") - time())/60; 

只是要我的回答完整,不存在提供更精細的面向對象方法在PHP中:

$time = new DateTime("2012-09-21 12:12:22"); 
$diff = $time->diff(new DateTime()); 
$minutes = ($diff->days * 24 * 60) + 
      ($diff->h * 60) + $diff->i; 

這是如果輸入的時間是從與服務器的其他時區特別有用。

+0

好吧,abs實際上做了什麼?我從來沒有見過之前 – Arken

+0

abs()是絕對值。 – j08691