なにやら漢字ばかりで中国テイストなタイトルで始まりました、
今日のブログです。
なんとなく漢字をたくさん並べてみたくなったんで、、。
というか、タイトルはとても大げさに書いてしまいました。
知ってる人にとっては、全然驚愕でもなければ、画期的でもないと思います。
自分は今日初めて知ってかなり感動しました。
仕事でとある関数(プログラム)を書くことになりました。
「生年月日から、年齢を求める」というものです。
はじめは、
年同士を引き算して、
次に、生まれた月が、今月よりも前か後か、それとも同じ月なのかを判別して、、、、
同じ月だったら日にちを比較してーーー、、、
とか、数十秒頭の中で考えて、ごちゃごちゃめんどくさいなとか
思ってたんです。
もしかして、すでに年齢計算アルゴリズムとかサンプルコードがあるんじゃないかな、
と期待しながらネットで検索してみたら、
すごい計算方法を見つけて、ひとりで感激してました。
その計算方法とは、、
(「年齢を求めたい日付」-「生年月日」)÷ 10000 の小数点以下切り捨て
です。
たとえば、1987年7月8日生まれの人の、2009年4月22日時点での年齢は、
(20090422 - 19870708) ÷ 10000 = 21.9714
で、21歳となります。
ちゃんと計算できてるのかよ?
ということで、確かめてみると、
2009年7月7日時点での年齢 (20090707 - 19870708) ÷ 10000 = 21.9999
2009年7月8日時点での年齢 (20090708 - 19870708) ÷ 10000 = 22.0000
2009年7月9日時点での年齢 (20090709 - 19870708) ÷ 10000 = 22.0001
ということで、ちゃんと正しい年齢が計算できています。
うるう年の2月29日生まれの人でもちゃんと計算できています。
年齢計算プログラムの記述が1行で済んで、
とても満足したヒューガでした。

コメントする