PHPで日数計算(日付関連)
PHPで2つの日付間の日数を表示する方法についてまとめました。
実際にサイトを作っていて日数を計算する場合、色々なパターンが想定されます。
例えば、
・○年○ヶ月○日と表示したい場合
・○ヶ月○日と表示したい場合
・○日と表示したい場合
等です。
まずは各パターン共通の差を計算する部分です。
PHPの場合、タイムスタンプ型で計算します。
$date = "2000/09/01";
//対象日と今日の日付をそれぞれ配列に格納
$dateArray = split("/", $date);
$todayArray = array( date("Y"), date("m"), date("d") );
//日付を計算用にタイムスタンプへ変換
$dateTime = mktime(0,0,0,$dateArray[1] , $dateArray[2] , $dateArray[0]);
$todayTime = mktime(0,0,0,$todayArray[1], $todayArray[2], $todayArray[0]);
//2つの日付間の差(ミリ秒)を計算
$diffTime = $todayTime - $dateTime;
つづいて、各パターンの表示方法を記載いたします。
//○年○ヶ月○日と表示したい場合
$diffYMD = (date("Y",$diffTime ) - 1970) . "年" . (date("m",$diffTime ) - 1) . "ヶ月" . (date("d",$diffTime ) - 1) . "日";
//○ヶ月○日と表示したい場合
$diffMD = ((date("Y",$diffTime ) - 1970)*12) + (date("m",$diffTime ) - 1) . "ヶ月" . (date("d",$diffTime ) - 1) . "日";
//○日と表示したい場合
$diffD = $diffTime /(60*60*24) . "日";
以上です。






8 月 31st, 2008 at 5:59 AM
[...] http://yusamok.com/tips/php/number-of-days/ 地球シミュレーター上で人を動かす [...]
3 月 15th, 2009 at 4:23 PM
JavaScriptでは組んだことありますが、PHPでは経験がありませんでした。
非常に参考になりました。
あ、バナーをポチっとしました(^^)/