- - PR -
年齢計算
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-12-04 10:07
C#で年齢計算を行いたいのです。
http://seagullclub.net/vba/vba14.htm の記事を参考に組んでみたのですが、 DateDiffに相当する関数がC#で見つかりませんでした。 C#でどのようにすれば計算できるでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2003-12-04 10:17
tabouさんこんにちは。
「TimeSpan 構造体」あたりを使うのでしょうか? | ||||
|
投稿日時: 2003-12-04 10:54
一応、これで求めることはできます。
#一般的かどうかは分かりませんが。。。
| ||||
|
投稿日時: 2003-12-04 12:35
架空兎さん、なか-chanさんコメントありがとうございます。
架空兎さんの方法で年齢が求めることが出来ました。 ありがとうございました。 | ||||
|
投稿日時: 2003-12-04 14:58
こんな感じでは。
| ||||
|
投稿日時: 2003-12-04 18:05
tabou さん、すみません。
私のコードだと、
とすると 1 才になってしまいます。。。 #誕生日になってないのに・・・。 正しい求め方は cats さんの通りです。 どうもすみませんでした。 | ||||
|
投稿日時: 2003-12-05 06:47
catsさん、架空兎さん ありがとうございます。
catsさんの方法で条件を変えて実行してみたのですが 1994/12/31 生まれの人は、1995/12/30 に 0才です 1994/12/31 生まれの人は、1995/12/31 に 1才です 1994/12/31 生まれの人は、1996/12/30 に 2才です 1994/12/31 生まれの人は、1996/12/31 に 2才です こうなるのですがなぜでしょう? 原因がおわかりでしたらよろしくお願いします。 | ||||
|
投稿日時: 2003-12-05 08:59
1996年が閏年なので、12月31日の「1月1日からの日数」が「366日目」になるためですね。1995年の12月31日は「365日目」なので、1996年12月30日と比較してしまうことになります。
2月29日の人の誕生日を、「2月28日」とするか、「3月1日」とするかは、難しいところですね。 [追記] なかなか良い境界値テストですね。何かで使うかもしれないので覚えておこうっと。 金融関係で使うかも。「2月29日」に借りた人の金利をどう計算するか。 [ メッセージ編集済み 編集者: Jitta 編集日時 2003-12-05 09:03 ] |