年齢を小数で考える
誕生日を迎えるたびに、1歳、急に歳を取るのは、ショックが大きい。 それは年齢を整数で考えているからだ。離散的なのだ。 実際には時間は連続的に流れている。本来、年齢は小数で考えたほうがいい。 「私は、23.342歳です」「いまは、47.534歳です」等々。
そこで私は自分の年齢を小数で表示するプログラムを書いてみた。言語は Python。
#!/usr/bin/env python3 from datetime import date def calc_age(year: int, month: int, day: int) -> float: birthday = date(year, month, day) today = date.today() last_bd = date(today.year, month, day) if last_bd > today: last_bd = date(today.year - 1, month, day) base_age = last_bd.year - year fraction = (today - last_bd).days / 365 return base_age + fraction if __name__ == "__main__": print("{:.3f}".format(calc_age(1970, 6, 18)))
calc_age(year, month, day)
のところをあなたの誕生日に変えていただければ、あなたの年齢も計算可能だ。
ちなみに私の今日の年齢は50.008歳だそうだ。早くも50歳を1/100近く消費してしまった。こうやって数字で見ると、「今日を一生懸命生きなければ」という気持ちになるというものだ。
調子に乗って、今日が今年の1月1日から何年経過したか計算するプログラムも書いてみた。もちろん、これは1未満の小数になる。
#!/usr/bin/env python3 from datetime import date def calc_upto_today() -> float: today = date.today() first_day = date(today.year, 1, 1) fraction = (today - first_day).days / 365 return fraction if __name__ == "__main__": print("{:.3f}".format(calc_upto_today()))
このプログラムによると、今日6月21日は、0.471年ということらしい。今年も早くも半分近く終わってしまったことがすぐわかる。歳を取ると年月が流れるのが本当に早い。流されずに毎日を大切に生きていきたいものだ。