【JavaScript】
現在の日付(年(西暦)、月、日)を取得する方法
getFullYear(), getMonth(), getDate()メソッドの使用
投稿日 2021/09/25 更新日 2023/08/26
こんにちは。IT業界歴4年目の「元木皇天」です。
今回はJavaScriptを使用して現在の日付(年(西暦)、月、日)を取得する方法を2つ解説いたします。
環境
OS:MacOS Venture
GoogleChrom:Ver 114.0.5735.106
やりたいこと
現在の日付(年月日)を取得する
以下実装イメージ
参考文献
・JavaScript コードレシピ集
・改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
・Date()コンストラクタ公式リファレンス
・getFullYear()公式リファレンス
・getMonth()公式リファレンス
・getDate()公式リファレンス
現在の日付(年月日)を取得する方法1
1つ目の現在の日付を取得する方法はまず、new Date()を使用して現在の日付と時刻を持ったDateオブジェクトを生成します。
DateオブジェクトのままだとFri Jan 01 2021 00:00:00 GMT+0900のような値で使い勝手が悪いので、次にgetFullYear(), getMonth(), getDate()メソッドを使用して年月日の値をそれぞれ取り出します。
そして、得た年月日の値を文字列として組み合わせることで、現在の日付を得ることができます。
では、実際の使用例を見てみましょう。
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth() + 1;
const date = now.getDate();
const YYYYMMDD = `現在の日付は${year}/${month}/${date}です。`;
上記のように、生成したDateオブジェクトからgetFullYear(), getMonth(), getDate()の各メソッドを使用して年月日を取得することができます。
また、実際に生成した文字列の変数"YYYYMMDD"を出力すると正しく日付が得られていることがわかります。
ちなみにget〇〇で得られる値は全て数値型です。
あと、ここで注意が必要なのが、上記コード内で赤線を引いている箇所であるgetMonth()です。
他のプログラミング言語でもありがちなところですが、getMonth()で得られる値は実際の月 -1 の値です。
例えば、new Date()を生成した時が1月であれば、getMonth()で得られる値は0、2月であれば1、という具合になります。
そのため、文字として出力する際には+1して使用する必要があるので注意が必要です。
現在の日付(年月日)を取得する方法2
次に、もう一つの方法をご紹介します。
もう一つの方法では、単純にYYYY/MM/DD形式の文字列を得られれば良い時に使える方法です。
では、実際のコードを見てみましょう。
const now = new Date(); const nowDate = now.toLocaleDateString(); const YYYYMMDD = `現在の日付は${nowDate}です。`;
いかがでしょうか?先ほどのコードよりもだいぶすっきりしましたね。
こちらは自分のいる場所によって得られる結果が変わるので注意が必要です。
日本であればYYYY/MM/DDですが、アメリカにいる場合はMM/DD/YYYYと表記されるので注意が必要です。
こちらは、特にフォーマットを気にせず日付が表示できれば良い時などに使うといいかもしれませんね。
まとめ
JavaScriptを使用して現在の日付を取得するには
1. new Date()で現在の日時を得る
2. getFullYear(), getMonth(), getDate()で年月日を取得する
ただし、getMonth()で得られる値は実際の月-1の値なので注意して使用する。
または
toLocaleDateString()を使用する。