PHPで指定日からの経過年数を求める
不動産物件検索システムを作成している過程で、築年からの経過年数(築xx年)を自動的に求められると楽だなぁと実装してあるのですが、ふと自分で書いたものよりもっと良いものは無いかな?と検索してみたところ、ユリウス積算日を使ったものが割と多いようです。ですが、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.'ヶ月' );




