[解決済み] 生年月日をYYYYMMDDのフォーマットで入力して年齢を計算する。
2022-03-16 04:55:09
質問
生年月日がYYYYMMDD形式である場合、年齢を計算するにはどうしたらいいですか?この場合
Date()
関数を使用してください。
今使っているものよりも良い解決策を探しています。
var dob = '19800810';
var year = Number(dob.substr(0, 4));
var month = Number(dob.substr(4, 2)) - 1;
var day = Number(dob.substr(6, 2));
var today = new Date();
var age = today.getFullYear() - year;
if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {
age--;
}
alert(age);
解決方法は?
私なら読みやすさを追求します。
function _calculateAge(birthday) { // birthday is a date
var ageDifMs = Date.now() - birthday.getTime();
var ageDate = new Date(ageDifMs); // miliseconds from epoch
return Math.abs(ageDate.getUTCFullYear() - 1970);
}
免責事項 これも精度の問題があるので、完全に信用することはできません。年によっては数時間ずれることもありますし、サマータイム中もずれることがあります(タイムゾーンによる)。
もし、精度を重視するのであれば、ライブラリなどを利用することをお勧めします。また
@Naveens post
は、時間帯に依存しないため、おそらく最も正確です。
関連
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
[解決済み】React-Redux: アクションはプレーンオブジェクトでなければならない。非同期アクションにはカスタムミドルウェアを使用する
-
[解決済み] JavaScriptの日付の書式設定方法
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] 正しい」JSONの日付形式とは?
-
[解決済み] シェルスクリプトでYYYY-MM-DD形式の日付にする
-
[解決済み] JSの日付オブジェクトからYYYYMMDD形式の文字列を取得する?
-
[解決済み】文字列表現を使わずにタイムゾーンを設定した日付を作成する
-
[解決済み] Moment.js - ある日付からの経過年数を切り上げずに取得するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Vueの要素ツリーコントロールに破線を追加する説明
-
vue3.0プロジェクトのアーキテクチャを構築するための便利なツール
-
JavaScriptの配列共通メソッド解説
-
Vueの一般的な組み込みディレクティブの説明
-
[解決済み】gulp anythingを実行するたびに、アサーションエラーが発生します。- タスク関数を指定する必要があります
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
nullのプロパティinnerHTMLを読み取れません エラーメッセージ
-
JavaScriptのgetElementById、getElementsByTagNam、getElementsByClassNameの違いと使い方