2016-03-20 44 views
0

現在の日付とPHPの別の日付との時差を取得しようとしていますが、間違った結果が出ています。 は、彼女のこれまでの私のコードです:2つの日付間の時間差を取得しようとする

function hoursDifference($date) 
{ 
    return round((time()- strtotime($date))/3600); 
} 

入力日付がある:2016年3月20日午前三時55分51秒が、現在の時刻が24時間形式を使用しているので、Hは15の代わりに、3とあります関数は正しい12時間の時間差を返します。これをどうすれば解決できますか?

+0

をご覧ください[日時を::差分] datetime.diff.php) – fusion3k

+0

重複:http://stackoverflow.com/a/3923228/2087463 – tmthydvnprt

答えて

0

12時間24時間の代わりに日付日付は小文字の「h」を使用してください。 また、@ fusion3kのようにDateTime::diffをご覧ください。

This linkは、$日付に使用できるパラメータについてもお手伝いします。

0

DateTimeオブジェクトを使用して、この

function hoursDifference($date) 
{ 
    return round(strtotime(date("Y-m-d h:i:s")) - strtotime($date))/3600); 
} 
0

で試してみてください:http://php.net/manual/en/( http://php.net/manual/de/class.datetime.php

echo hoursDifference("2016-03-20 12:13:12"); 

function hoursDifference($date) 
{ 
    $d = new DateTime($date); 
    $now = new DateTime(); 
    $iv = $now->diff($d); 
    return $iv->h; 
} 
関連する問題