掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
年齢の計算を教えて下さい。 (ID:140337)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 年齢の計算を教えて下さい。 まだ生まれていない人に対しては計算対象外とするのか、それとも マイナス年齢として出すのかを、あらかじめ決めておいてくださいね。 それと年齢計算には、目的に応じて異なる計算手法がありますので、 どの方法を採用するのかも重要になってきます。 (1) 生誕日時を 0歳 とし、以降、誕生日の同時刻を迎える毎に1歳加える。 (2) 生誕日を 1歳 とし、以降、元日を迎える毎に1歳加える。 (3) 生誕日を 0歳 とし、以降、誕生日(の0時)を迎える毎に1歳加える。 (4) 生誕日を 0歳 とし、以降、誕生日の前日(の24時)を迎える毎に1歳加える。 (1) は、時刻までも含めて判断するので、今回は使わないでしょう。 (2) は、いわゆる「数え年」というやつです。 (3) と (4) はともに「満年齢」です(前日24時と当日0時は同一時刻を意味しますね)。 一般的な認識に近いのは (3) かも知れませんが、法令上は (4) が採用されています。 > テキストボックスでまず、テキストに自分の"生年月日"を打ち込みます。 テキストボックスでも良いですが、『DTPicker(DataTimePicker) コントロール』を 使った方が便利だと思いますよ。 TextBox だと、「日付では無い文字列」を入れられた場合のチェックが必要ですが、 DTPicker なら、正しい日付値しか入力できないようになりますし、日付入力時に 手入力だけではなく、カレンダーから日付を選ばせる事もできるようになります。 なお、DTPicker を使うには、[プロジェクト]-[コンポーネントの追加] にて、 "Microsoft Windows Common Controls-2 6.0" にチェックを付けてやれば OK です。 > この様な作業を行いたいのですが、 手で計算する時と同じ手順をとれば OK です。すなわち、 (1) [今日の年] から [誕生年] を引き算する。これが満年齢となる。 (2) ただし、[誕生年月] が [今日の年月] を迎えていない場合は、(1) から 1 歳引く。 という計算を行えば良い事になります。 (満年齢で算出したい場合は、[今日]という部分を1月1日にしてください) 例えば、 現在日付 = 2008/09/01 に対して、 生年月日 = 2005/08/01 の満年齢を出すのであれば、 手順(1) により、(2008 - 2005) で 3 歳。 手順(2) により、(8月1日≦9月1日) なので、年齢補正なし。 ということで [3 歳]と得られます。 これが、 生年月日 = 2005/09/02 であれば、 手順(1) により、(2008 - 2005) で 3 歳。 手順(2) により、(9月2日>9月1日) なので、そこから -1 歳する。 ということで [2 歳]と得られます。 ここまで分かれば、後は日付型から、年,月,日 を切り出せば求められるかと。 日付から年/月/日を得る方法としては 日付型の Year / Month / Day プロパティ VB組込の Year / Month / Day 関数 VB組込の DatePart / Format 関数 などなど、幾つかの方法があります。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.