JavaScriptで現在の時刻を表示する場合は、Dateオブジェクトを作成し、日付や時刻を取得するメソッドを呼び出すことで日付や時刻の要素を取得できます。今回は、日付/時刻の扱い方について紹介します。
日付/時刻の取得と表示
Dateオブジェクト
new Date()を用いることでDateオブジェクトを作成することができます。下記の様に定義したDateオブジェクトのインスタンスに対してメソッドを用いて日付の取得や表示を行います。
let 変数名 = new Date();日時要素の取得
日時については下記を用いて取得や表示を行います。
| 日時 | 関数 | 取得できる値 |
| 年 | getFullYear() | 指定された日時の「年」(4桁の年であれば4桁) |
| 月 | getMonth() | 指定された日時の「月」(0 – 11) |
| 日 | getDate() | 指定された日時の「日」(1 – 31) |
| 時 | getHours() | 指定された日時の「時」(0 – 23) |
| 分 | getMinutes() | 指定された日時の「分」(0 – 59) |
| 秒 | getSeconds() | 指定された日時の「秒」(0 – 59) |
| ミリ秒 | getMilliseconds() | 指定された日時の「ミリ秒」(0 – 999) |
| 曜日 | getDay() | 指定された日時の「曜日」(0 – 6) |
let date = new Date();
let year = date.getFullYear();
console.log(year);出力結果
2023
// 2023/02/17 現在曜日については0から6の数字にて表現されます。
| インデックス | 英語表記 | 日本語表記 |
| 0 | Sunday | 日曜日 |
| 1 | Monday | 月曜日 |
| 2 | Tuesday | 火曜日 |
| 3 | Wednesday | 水曜日 |
| 4 | Thursday | 木曜日 |
| 5 | Friday | 金曜日 |
| 6 | Saturday | 土曜日 |
let date = new Date();
let day = date.getMonth();
console.log(day);出力結果
5
// 金曜日の出力結果日時の計算
1年前/後の求め方
getFullYear()メソッドで現在の年を取得できる。このメソッドで取得した値から-1すれば1年前になり、+1すれば1年後になる。dateインスタンスに対してsetFullYear()メソッドで取得した年を設定することで、1年前/後の日付を設定することができる。
let date = new Date();
console.log(date.getFullYear() - 1); // 1年前の年を出力
console.log(date.getFullYear() + 1); // 1年後の年を出力
date.setFullYear(date.getFullYear() + 1);
console.log(date.toLocaleString()); // 1年後の日時を出力出力結果
2022
2024
2/17/2024, 4:01:52 AM
// 2023/02/17 現在1ヶ月前/後の求め方
getMonth()メソッドで現在の月を取得できる。このメソッドで取得した値から-1すれば1ヶ月前になり、+1すれば1ヶ月後になる。dateインスタンスに対してsetMonth()メソッドで取得した月を設定することで、1ヶ月前/後の日付を設定することができる。
let date = new Date();
console.log(date.getMonth() - 1); // 1ヶ月前の月を出力
console.log(date.getMonth() + 1); // 1ヶ月後の月を出力
date.setMonth(date.getMonth() + 1);
console.log(date.toLocaleString()); // 1ヶ月後の日時を出力出力結果
1
3
3/17/2023, 3:58:32 AM
// 2023/02/17 現在1日前/後の求め方
getDate()メソッドで現在の日を取得できる。このメソッドで取得した値から-1すれば1日前になり、+1すれば1日後になる。dateインスタンスに対してsetDate()メソッドで取得した日を設定することで、1日前/後の日付を設定することができる。
let date = new Date();
console.log(date.getDate() - 1); // 1日前の日を出力
console.log(date.getDate() + 1); // 1日後の日を出力
date.setDate(date.getDate() + 1);
console.log(date.toLocaleString()); // 1日後の日時を出力出力結果
16
18
2/18/2023, 4:00:27 AM
// 2023/02/17 現在エンジニアからのアドバイス
日時の計算はフォーマットが違うとエラーになるので、同じフォーマットにて計算をするようにしましょう。また、PCの標準時間が日本ではない設定になっている可能性もあるので、出力されたデータがずれていそうな際は現在の時刻を確認しましょう。
