2016-04-21 12 views
0

私は2つの日付を比較しようとしています。 私のコードは次のとおりですので、私は2つの日付を比較し、それらbetwen違いをチェックする必要があり、このDateTimeオブジェクトから日付を取得する方法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" 
 
}

。おかげさまで 秒で

答えて

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

2つの日付の差が60分以上である場合:

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

2つの日付の間の差異が例えば2日0時間5分の場合 - >このコードは動作し、 '' $ difference_in_hours> 1'''となるでしょうか? –

+0

@mistery_girlが正しい。 '$ difference_in_hours'は文字通り合計時間を過ぎています。その間に2日がある場合、$ difference_in_hoursは48になります(48時間を意味します)。 – Webeng

+0

説明をありがとう。 :)))) –

1

違い:diffは60分以上であれば

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

チェック:

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

私は2つの日付の差が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 = $ difference-> format("%h ");' '' - 私は数分ではなく時間を比較するべきです。 –

関連する問題