はじめに
アウトプットが苦手な自分が練習の一環として記事を書いてみる。
第二回目です。
以前Dateオブジェクトを使った日付の加算で少し躓いたところがあったので、
それについて記事を書こうと思ったのですが、
その前にまずはDateオブジェクトの簡単な使い方
について書いていきたいと思います。
現在の日時を取得する
new Date()を使用することでDateオブジェクトを生成します。
引数を指定しない場合、現在の日時でオブジェクトが生成されます。
const date = new Date();
console.log(date);
// 実行結果
// 2021-08-02T03:46:44.601Z
任意の日時を取得する
先ほどのnew Date()に引数を指定して生成します。
指定の仕方は以下の3種類あります。
- 年月日時分秒ミリ秒
- 文字列
- 1970年1月1日(UTC)からの経過ミリ秒数
// 年月日時分で指定
const date1 = new Date(2021,7,1,10,00,5,300);
// 文字列で指定
const date2 = new Date('2021-08-01 12:30');
// ミリ秒で指定
const date3 = new Date(1627797600000);
console.log(date1);
console.log(date2);
console.log(date3);
// 実行結果
// 2021-08-01T10:00:05.300Z
// 2021-08-01T12:30:00.000Z
// 2021-08-01T06:00:00.000Z
※月を指定する場合、値は0から始まるので注意が必要です。(1月を指定する場合、値は「0」となる)
日時の値ををそれぞれ取得する
Dateオブジェクトにはオブジェクトが持つ日時の値をそれぞれ取得するメソッドがあります。
メソッド | 返値 |
---|---|
getFullYear() | 年の値 |
getMonth() | 月の値 |
getDate() | 日の値 |
getDay() | 曜日の値 |
getHours() | 時の値 |
getMinutes() | 分の値 |
getSeconds() | 秒の値 |
getMilliseconds() | ミリ秒の値 |
const date = new Date(2021,7,1,10,20,5,300);
console.log('getFullYear:' + date.getFullYear()); // 年の値を取得
console.log('getMonth:' + date.getMonth()); // 月の値を取得
console.log('getDate:' + date.getDate()); // 日の値を取得
console.log('getDay:' + date.getDay()); // 曜日の値を取得
console.log('getHours:' + date.getHours()); // 時の値を取得
console.log('getMinutes:' + date.getMinutes()); // 分の値を取得
console.log('getSeconds:' + date.getSeconds()); // 秒の値を取得
console.log('getMilliseconds:' + date.getMilliseconds()); // ミリ秒の値を取得
// 実行結果
//getFullYear:2021
//getMonth:7
//getDate:1
//getDay:0
//getHours:10
//getMinutes:20
//getSeconds:5
//getMilliseconds:300
※曜日の値も月と同様に値が0から始まります。(日曜日の場合は「0」となる)
日時の再設定
先ほどはオブジェクトの値を取得しましたが、オブジェクトの値を再設定するメソッドもそれぞれ用意されてます。
メソッド | 引数 |
---|---|
setFullYear() | 「年」を表す整数の値 |
setMonth() | 「月」を表す整数の値 |
setDate() | 「日」を表す整数の値 |
setHours() | 0から23までの間の整数値 |
setMinutes() | 0から59までの間の整数値 |
setSeconds() | 0から59までの間の整数値 |
setMilliseconds() | 0から999までの間の整数値 |
const date = new Date(2021,7,1,10,20,5,300);
date.setFullYear(2020);
date.setMonth(9);
date.setDate(20);
date.setHours(11);
date.setMinutes(22);
date.setSeconds(33);
date.setMilliseconds(44);
console.log(date);
// 実行結果
// 2020-10-20T11:22:33.044Z
まとめ
Dateオブジェクトの使い方については以上です。
月と曜日の値が0から始まることに注意すれば簡単な日付の取得と設定はできると思いますので、
参考にしていただければ幸いです。
参考サイト
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date