2016-04-21 109 views
0

我試圖比較兩個日期 - 檢查他們之間在幾分鐘之間的差異。 我的代碼是:如何從dateTime對象獲取日期

$first_date = new DateTime($token->created_at); 
 
$first_date->format('Y-m-d H:i:s'); 
 

 
$second_date = new DateTime(); 
 
$second_date->format('Y-m-d H:i:s'); 
 

 
$difference = $first_date->diff($second_date); 
 
$time_diff = $difference->format("%i"); 
 

 
var_dump($first_date); 
 

 
//I get this object 
 
object(DateTime)#552 (3) { 
 
    ["date"]=> 
 
    string(26) "2016-04-21 10:00:00.000000" 
 
    ["timezone_type"]=> 
 
    int(3) 
 
    ["timezone"]=> 
 
    string(3) "UTC" 
 
}

如何從DateTime對象約會,所以我應該比較兩個日期,檢查差異愨他們。 謝謝。

回答

1
$difference_in_hours = (($second_date->getTimestamp() - $first_date->getTimestamp())/3600); 

如果這兩個日期之間的差大於60分:

if($difference_in_hours>1) 
{ 
    //if so, insert your desired code here 
} 
+0

如果兩個日期之間的差異是例如 - 2天0小時5分鐘 - >將會是這個代碼的工作,它應該是'''$ difference_in_hours> 1''',因爲它應該? –

+0

@mistery_girl正確。 '$ difference_in_hours'從字面上看已經過去了數小時。如果你之間有2天,那麼$ difference_in_hours將等於48(意思是48小時)。 – Webeng

+0

感謝您的解釋。 :))) –

1

差異秒:

$diff_in_seconds = $first_date->getTimestamp() - $second_date->getTimestamp(); 

檢查差異超過60分鐘:

if($diff_in_seconds > 60 * 60){ 
    echo("more than 60 minutes difference"); 
} 
+0

我要檢查,如果兩個日期之間相差超過60分鐘以上。 –

1
echo $first_date->format('Y-m-d H:i:s'); 
1

您可以查看經過時間以分鐘爲單位如下:

$interval = $first_date->diff($second_date); 
$elapsed = $interval->format('%i minutes'); 
echo $elapsed; 
+0

謝謝大家!我這樣做:''$ time_diff = $差異 - >格式(「%h」);'' - 我應該比較幾小時而不是幾分鐘。 –

相關問題