PHPで指定日からの経過年数を求める
不動産物件検索システムを作成している過程で、築年からの経過年数(築xx年)を自動的に求められると楽だなぁと実装してあるのですが、ふと自分で書いたものよりもっと良いものは無いかな?と検索してみたところ、ユリウス積算日を使ったものが割と多いようです。ですが、PHPのコンパイル時にカレンダー関連の関数を有効にする必要があり、レン鯖だと使えない事もあるようです。
といった理由から配布物としては使えませんので、参考までにこんな感じでってコードを掲載しておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | $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 . 'ヶ月' ); |