
No.3ベストアンサー
- 回答日時:
年齢というのは、ふつうは「歳」までで、「月数・日数」が必要なことは非常に稀です。
「歳」までなら、極めて簡単なのですが、ご質問の趣旨は「月数・日数」を必要とされるのですね。この場合は、#1さんが言われるように、多少のドロ臭さは我慢します。今日がy/m/dで、生年月日がy0/m0/d0とします。
m>=m0、d>=d0 なら「超簡単」ですよね。
次に、m<m0なら、y0に1を加え、m0から12を引きます。
さらに、d<d0なら、m0に1を加え、d0から「月内日数」を引きます。
この「月内日数」は、y0、m0によって28~31の間で変動します。この値を求めるための非常に簡単なアルゴリズムがあるのですが、ご自分で工夫してもできるでしょう。2000年が「うるう年」でしたから「グレゴリオ補正」は、してもしなくてもいいでしょう。
上記の処理ができれば、あとは(y-y0)歳(m-m0)月(d-d0)日で求められます。
No.2
- 回答日時:
質問はVB6(VBA)かVB.NET系統か書いてありますか。
コードを左右するのでは。VBは今はVB2008などに決まっていると言えるのかな。ーーーーー
Googleで「b.net 年齢計算」で照会すれば、記事がそこそこ出るじゃない。それさえやってないのでは。
http://7ujm.net/etc/age.html
参考
http://www5b.biglobe.ne.jp/~yone-ken/VB/Func/vbT …
http://homepage1.nifty.com/rucio/main/dotnet/Sam …
http://jeanne.wankuma.com/tips/vb.net/datetime/
No.1
- 回答日時:
まず、基本と例外をごちゃ混ぜにしていっぺんに考えるとややこしくて仕方ないと思います。
まずは基本的なやりかた(たとえば2008年10月2日生まれで2009年11月1日なら・・とか、9/10なら・・とか)ではどう計算するのか考えます。
次に例外となる状態を一つずつ整理してリストアップしていきます。
多分面倒なのは月末の処理ですよね?
10月31日生まれで11月30日なら一ヶ月なのか30日なのか
10月31日生まれで12月1日なら一ヶ月+1日とみなすのかどうか
9月30日生まれで10月30日なら一ヶ月なのか31日なのか
9月30日生まれで10月31日なら一ヶ月なのか一ヶ月と1日なのか
思いつくパターンを全部拾い上げて、どうするのが良いのかを決めていくことでしょう。面倒臭がらずにとにかく思いつくものをきちんとリストアップして対処方法を決めていくことです。なるべくシンプルになるように決めるほうが良いでしょうね。
これが決まったら、先ほどの基本プログラムの中で「例外処理」として埋め込んでいけば良いわけですね。多少泥臭い判定方法でも良いと思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
- Excel(エクセル) 関数の質問です 3 2022/03/24 12:41
- Visual Basic(VBA) 日付の計算方法 2 2022/07/01 23:35
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- 雇用保険 年金受取前に失業給付をもらえる退職時期を教えてください(パート勤務) 1 2022/03/26 01:26
- その他(年金) 遺族厚生年金→この夫が亡くなった妻の場合の貰える遺族厚生年金?の額はこれであっていますか? ーーーー 5 2023/04/21 12:00
- その他(悩み相談・人生相談) 同い年ってどういう意味なんでしょう? 自分は同い年=同じ学年の人と捉えていました。 でも最近ふと思っ 5 2023/06/07 03:22
- 電車・路線・地下鉄 「大人の休日倶楽部ジパング」の「夫婦会員」入会資格 姉さん女房だけ優遇 変じゃないですか? 2 2022/10/08 22:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 極座標変換
-
生年月日(yyyy/MM/dd) → 年齢...
-
直線と線分の交差判定について...
-
VB.NET とドットNET(.NET...
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
VB と VC++ と VC#の違いは?
-
iCloudフォトライブラリ内の画...
-
ASP ODBC以外のSQLserver接続方法
-
【C言語】行列のランク(階数)...
-
なぜHTMLのソースコードが無料...
-
VS2010でC#のDLLを作成する手順
-
VX-works
-
Dreamweaverのライブラリが反映...
-
C# EXCELセルの入力規則設定に...
-
declaration of 'index' shadow...
-
iOSゲームアプリが作りたいと思...
-
eclipseで関数printfを解決でき...
-
python urlopen error について...
-
RS232Cの制御について詳しく書...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
生年月日(yyyy/MM/dd) → 年齢...
-
C++/CLIで画像処理
-
色混ぜのアルゴリズム
-
直線と線分の交差判定について...
-
解像度と誤差について
-
ノイズ処理の原理
-
画像をFFTした際のスペクトル分...
-
OpenCVで寸法測定
-
姿勢センサでプロジェクタの台...
-
アフィン変換後の画像に線が入...
-
行列の積の処理を高速化したい
-
リアルタイムで多数の3角形ポリ...
-
魚眼画像について
-
2枚の画像間の色ヒストグラム距...
-
OpenCVで、画像の平均階調値よ...
-
画像の拡大
-
点字認識システムを作成したい...
-
自動で仮説を立てるような学習...
-
C言語の作成依頼です。
-
Canny法に用いる閾値の決定法に...
おすすめ情報