JavaScript 速習チュートリアル

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();