LoginSignup
4
3

More than 3 years have passed since last update.

【JavaScript】日付(Dateオブジェクト)の使い方を全てまとめる

Last updated at Posted at 2021-01-26

プログラミング勉強日記

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
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3