Dateオブジェクトを使うと現在の日時を取得することができます。
過去や未来の日時を取得することもできるので、未来の日時から現在の日時を引いて未来の特定の日付までの時間や日数を取得するといったこともできるようになります。
この機能を使用すればカウントダウンタイマーやアクセス時間によって表示を分けたりすることが可能となります。
現在の時刻を取得する
const now = new Date();
console.log(now); // Sun Jun 07 2020 13:06:15 GMT+0900 (日本標準時)
new Date()にパラメータを付与しなければ現在の時刻を取得することができます。
現在時刻を変数nowに格納して、コンソールに表示しています。
「Sun Jun 07 2020 13:06:15 GMT+0900 (日本標準時)」と現在時刻が取得できました。
過去の日時を取得する
過去の特定の日時を取得するには、new Date()のパラメータに取得したい日付を入れます。
今回は令和の始まった日時を取得します。
令和が始まった日は2019年4月1日なので、new Date(2019,4,1)と指定して変数に格納します。
すると「Wed May 01 2019 00:00:00 GMT+0900 (日本標準時)」という結果が返ってきました。
var startDay = new Date(2019,4,1);
console.log(startDay);
console.log('令和は'+startDay.getFullYear()+'年'+startDay.getMonth()+'月'+startDay.getDate()+'日に始まりました'); //令和は2019年4月1日に始まりました
主なメソッド
先ほどnew Date()で取得した現在の日時を色々な形式で表示してみます。
デフォルトの出力形式だと曜日や月が英語になっていたり(日本標準時)などのいらない表記があったりでわかりづらいので、わかりやすい形式に変換してみます。
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth() + 1;
var date = today.getDate();
console.log('今日は'+year+'年'+month+'月'+date+'日です'); //今日は2020年6月7日です
西暦を取得
var today = new Date();
console.log(today.getFullYear()); //2020
月を取得
var today = new Date();
console.log(today.getMonth() + 1); //6
Dateオブジェクトでは「月」の扱いに注意
Dateオブジェクトの「月」は「実際の月-1」となっています。
なので、正しくは上記のようにtoday.getMonth()の値に1を足すと正しい月の値が取得できます。
日を取得
var today = new Date();
console.log(today.getDate()); //7