PHPの便利な小技 PHPで使える便利な小技などのご紹介

PHPで指定日からの経過年数を求める

2014年4月3日
この記事は掲載から1963日経過しています。
情報が古い可能性が有りますのでご了承下さい

不動産物件検索システムを作成している過程で、築年からの経過年数(築xx年)を自動的に求められると楽だなぁと実装してあるのですが、ふと自分で書いたものよりもっと良いものは無いかな?と検索してみたところ、ユリウス積算日を使ったものが割と多いようです。ですが、PHPのコンパイル時にカレンダー関連の関数を有効にする必要があり、レン鯖だと使えない事もあるようです。

といった理由から配布物としては使えませんので、参考までにこんな感じでってコードを掲載しておきます。

[php]
$yyy = 2013;
$mmm = 1;
$ddd = 1;

//計算したい過去の日付
$mk1 = mktime(0,0,0,$mmm,$ddd,$yyy);

//今日
$mk2 = mktime(0,0,0,date(‘n’),date(‘j’),date(‘Y’));

//差を一日の秒数で割る -> 日数となる
$sa = ($mk2-$mk1) / (60*60*24);

//1年の平均日数 うるう年を踏まえて 0.25日を足す
$yy = 365.25;

//1ヶ月の平均日数
$mm = 365.25 / 12;

//[年] 日数差を1年の平均で割る。端数は切り捨てる
$YYY = floor( ($sa / $yy) );

//[月] 割り出した年と1年平均を掛けた日数を差から引き、1ヶ月平均で割る。端数は切り捨てる
$MMM = floor( ($sa – ($yy*$YYY) ) / $mm );

print_r( $YYY .’年’. $MMM.’ヶ月’ );
[/php]

 
  • このエントリーをはてなブックマークに追加
  • LINEで送る

PAGE TOP