むかーし、年齢を計算するのに色々やっていたら、一発で出る方法を教えてもらって感動したので忘れないようにメモ的な意味合いで残す。
計算式
(今日の日付-誕生日)/10000 の小数点以下切捨て。
PHPだと
php
$birthday = 19800123;
$age = (date(Ymd) - $birthday) / 10000;
満了時期について
上記で簡単に年齢が計算できるようですが、注意点がある模様。
ただ年齢を表示する場合には問題ないようだけど、
いつその年齢が満了したか
を元に計算する場合は業務によって考え方が違うので気をつける必要があるようです。
簡単に言うと、9/1が誕生日とすると
1. 誕生日の前日が満了
8/31 23:59:59.9999999…… で満了するという考え
この場合は満了日が 8/31 になる
2. 誕生日が満了
9/1 00:00:00 で満了するという考え
この場合は満了日が 9/1 になる
1と2のどちらで計算を始めるかを確認する必要がある。ということ。