JavaScript の日時取得メソッド
1. new Date() コンストラクタ
JavaScriptにおいて、デイトオブジェクト(Date objects)は new Date() を使って作成されます。new Date() は、現在の日付と時刻を持つオブジェクトを返します。
1.1 現在の時刻を取得する
const date = new Date();2. DateのGetメソッド一覧
以下のメソッドは、既存のデイトオブジェクトから情報を取得するためのものです。
| メソッド | 説明 |
|---|---|
| getFullYear() | 年を4桁の数字(yyyy)で取得 |
| getMonth() | 月を数字(0-11)で取得 |
| getDate() | 日を数字(1-31)で取得 |
| getDay() | 曜日を数字(0-6)で取得 |
| getHours() | 時(0-23)を取得 |
| getMinutes() | 分(0-59)を取得 |
| getSeconds() | 秒(0-59)を取得 |
| getMilliseconds() | ミリ秒(0-999)を取得 |
| getTime() | タイム(時刻)を1970年1月1日からのミリ秒単位で取得 |
注意: > 上記のメソッドは**ローカルタイム(Local time)を返します。
- ユニバーサルタイム(UTC)については、このページの最後で解説します。
- デイトオブジェクト内の時刻はスタティック(静的)です。「時計」のように動いているわけではありません。オブジェクト作成時のスナップショットであるため、現在のリアルタイムな時刻とは異なります。
3. getFullYear() メソッド
getFullYear() メソッドは、日付の「年」を4桁の数字で返します。
3.1 コード例
const d = new Date("2021-03-25");
d.getFullYear(); // 2021 を返す
const current = new Date();
current.getFullYear(); // 現在の年を返す警告 !
古いJavaScriptコードでは、非標準の getYear() メソッドが使われていることがあります。本来は2桁の年を返すものですが、現在は非推奨(デプレケーテッド)です。絶対に使用しないでください!
4. getMonth() メソッド
getMonth() メソッドは、日付の「月」を数字(0-11)で返します。
JavaScriptでは、1月は 0、2月は 1……となり、12月は 11 となります。
4.1 コード例
const d = new Date("2021-03-25");
d.getMonth(); // 2 を返す(3月なので)
const current = new Date();
current.getMonth(); // 現在の月のインデックスを返す配列(アレイ)の名前リストを用意することで、月を名前として取得することも可能です。
const months = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"];
const d = new Date("2021-03-25");
let month = months[d.getMonth()]; // "3月"5. getDate() メソッド
getDate() メソッドは、日付の「日」を数字(1-31)で返します。
5.1 コード例
const d = new Date("2021-03-25");
d.getDate(); // 25 を返す6. getHours() メソッド
getHours() メソッドは、日付の「時」を数字(0-23)で返します。
6.1 コード例
const d = new Date("2021-03-25");
d.getHours();7. getMinutes() メソッド
getMinutes() メソッドは、日付の「分」を数字(0-59)で返します。
7.1 コード例
const d = new Date("2021-03-25");
d.getMinutes();8. getSeconds() メソッド
getSeconds() メソッドは、日付の「秒」を数字(0-59)で返します。
8.1 コード例
const d = new Date("2021-03-25");
d.getSeconds();9. getMilliseconds() メソッド
getMilliseconds() メソッドは、日付の「ミリ秒」を数字(0-999)で返します。
9.1 コード例
const d = new Date("2021-03-25");
d.getMilliseconds();10. getDay() メソッド
getDay() メソッドは、日付の「曜日」を数字(0-6)で返します。
JavaScriptにおいて、週の最初の日は 0(日曜日) です。一部の国では月曜日を週の始まりとしますが、このメソッドの仕様は固定されています。
10.1 コード例
const d = new Date("2021-03-25");
d.getDay(); // 4 (木曜日) を返す配列を使えば、曜日を名前で取得できます。
const days = ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"];
const d = new Date("2021-03-25");
let day = days[d.getDay()]; // "木曜日"11. getTime() メソッド
getTime() メソッドは、1970年1月1日からの経過ミリ秒数を返します。
11.1 コード例
const d = new Date("1970-01-01");
d.getTime(); // 0 を返す
const d2 = new Date("2021-03-25");
d2.getTime();12. Date.now() メソッド
Date.now() は、1970年1月1日からの経過ミリ秒数を返します。
12.1 経過年数の計算例
1970年1月1日からの年数を計算する例です。
const minute = 1000 * 60;
const hour = minute * 60;
const day = hour * 24;
const year = day * 365;
let years = Math.round(Date.now() / year);重要:Date.now() は スタティックメソッド(Static method) です。myDate.now() のようにインスタンスに対して使うことはできません。常に Date.now() と記述します。
13. UTCのGetメソッド一覧
UTC(協定世界時)を取得するためのメソッド群です。これらはGMTと同じ基準を用います。
| メソッド | 対応するLocalメソッド | 説明 |
|---|---|---|
| getUTCDate() | getDate() | UTCの「日」を返す |
| getUTCFullYear() | getFullYear() | UTCの「年」を返す |
| getUTCMonth() | getMonth() | UTCの「月」を返す |
| getUTCDay() | getDay() | UTCの「曜日」を返す |
| getUTCHours() | getHours() | UTCの「時」を返す |
| getUTCMinutes() | getMinutes() | UTCの「分」を返す |
| getUTCSeconds() | getSeconds() | UTCの「秒」を返す |
| getUTCMilliseconds() | getMilliseconds() | UTCの「ミリ秒」を返す |
ローカルタイムとUTCタイムの差は、最大で24時間になることがあります。
14. getTimezoneOffset() メソッド
getTimezoneOffset() メソッドは、ローカルタイムとUTCタイムの差分を分(minutes)単位で返します。
14.1 コード例
const d = new Date();
let diff = d.getTimezoneOffset();