#プログラミング勉強日記
2021年1月26日
日付や時間を操作することのできるDateオブジェクトについてまとめる。
#Dateオブジェクトの使い方
Dateオブジェクトを使って日付や時間を操作するためには、new
を使ってインスタンスを作成する。
引数なしで利用する場合、現在の日時を取得する。
let now = new Date();
console.log(now);
Tue Jan 26 2021 21:25:35 GMT+0900 (日本標準時)
引数を指定すると、3種類の取得方法がある。
let today1 = new Date();
// 文字列から求める
let today2 = new Date( '2020/10/04 12:30' );
// 年月日時分の数値を順番にカンマ区切りで指定する
// (※月は1引いた数を指定する)
let today3 = new Date( 2020, 9, 4, 12, 30 );
// 1970年1月1日 00:00:00からの経過ミリ秒で日時を求める
let today4 = new Date( 1601782200000 );
console.log(today1);
console.log(today2);
console.log(today3);
console.log(today4);
Tue Jan 26 2021 21:32:14 GMT+0900 (日本標準時)
Sun Oct 04 2020 12:30:00 GMT+0900 (日本標準時)
Sun Oct 04 2020 12:30:00 GMT+0900 (日本標準時)
Sun Oct 04 2020 12:30:00 GMT+0900 (日本標準時)
#Dateのフォーマット
日付データから年・月・日・曜日・時・分・秒などのデータを個別に取得できるメソッドがある。注意すべきなのは、月を取得する際にはgetMonth()
メソッドに+1
する必要があること。
メソッド | 説明 |
---|---|
getFullYear() | 日付の「年」を取得する(4桁) |
getMonth() | 日付の「月」を取得する(0~11) |
getDate() | 日付の「日」を取得する(1~31) |
getDay() | 日付の「曜日」を取得する(0~6) |
getHours() | 日付の「時」を取得する(0~23) |
getMinutes() | 日付の「分」を取得する(0~59) |
getSeconds() | 日付の「秒」を取得する(0~59) |
let today = new Date();
let year = today.getFullYear();
let month = today.getMonth() + 1;
let day = today.getDate();
console.log(year + '年' + month + '月' + day + '日');
2021年1月26日
#Dateオブジェクトのメソッド
##now()メソッド
現在の日時データを経過ミリ秒で取得する。
let day = Date.now();
console.log(day);
1611665266675
##toString()メソッド
日付データを文字列に変換するメソッド。
let day = new Date();
console.log(day.toString());
Tue Jan 26 2021 21:51:15 GMT+0900 (日本標準時)
##toISOString()メソッド
日時をUTCとしてSO 8601に基づいたフォーマットYYYY-MM-DDThh:mm:ss.uuuZ
で返す。
let date = new Date();
console.log(date.toISOString());
2021-01-26T12:56:50.098Z
#日付を計算する方法
通常の四則演算処理だけで日付を計算することができる。なので、月終わりが30日か31日か考える必要がなく、すべて自動で計算してくれる。
let day = new Date();
console.log(day); //今日の日付
day.setDate(day.getDate() + 50);
console.log(day); //50日後の日付
day.setMonth( day.getMonth() - 3 );
console.log(day); // 3か月前の日付
Tue Jan 26 2021 21:35:58 GMT+0900 (日本標準時)
Wed Mar 17 2021 21:35:58 GMT+0900 (日本標準時)
Thu Dec 17 2020 21:37:49 GMT+0900 (日本標準時)
#日付を比較する方法
比較演算子を使って日付を比較することができる。JavaScriptでは古い日時が小さい値になって、新しい日時が大きい値になる。
var date1 = new Date('2020/8/1');
var date2 = new Date('2020/9/1');
console.log('date1 > date2 = ' + (date1 > date2));
console.log('date1 < date2 = ' + (date1 < date2));
date1 > date2 = false
date1 < date2 = true