JavaScript 速習チュートリアル

JavaScript の日時設定メソッド

1. 日時設定メソッドの概要

日時設定メソッド(Set Date methods)を使用すると、デイトオブジェクト(Date Object)に対して、年、月、日、時、分、秒、ミリ秒などの値を個別に設定できます。

2. Setメソッド一覧

以下のメソッドは、日付の一部を書き換えるために使用されます。

メソッド説明
setDate()を数字(1-31)で設定
setFullYear()を設定(yyyy)
setHours()を設定(0-23)
setMilliseconds()ミリ秒を設定(0-999)
setMinutes()を設定(0-59)
setMonth()を設定(0-11)
setSeconds()を設定(0-59)
setTime()時刻を設定(1970年1月1日からのミリ秒で指定)

3. setFullYear() メソッド

setFullYear() メソッドは、デイトオブジェクトの「年」を設定します。以下の例では2020年に設定しています。

3.1 コード例

const d = new Date("January 01, 2025");
d.setFullYear(2020);

setFullYear() メソッドは、オプションとして「月」と「日」を同時に設定することも可能です。

const d = new Date("January 01, 2025");
d.setFullYear(2020, 11, 3);

4. setMonth() メソッド

setMonth() メソッドは、デイトオブジェクトの「月」を設定します(0-11)。

4.1 コード例

const d = new Date("January 01, 2025");
d.setMonth(11); // 12月に設定

5. setDate() メソッド

setDate() メソッドは、デイトオブジェクトの「日」を設定します(1-31)。

5.1 コード例

const d = new Date("January 01, 2025");
d.setDate(15);

また、setDate() は日付に日数を加算するためにも使用できます。

const d = new Date("January 01, 2025");
d.setDate(d.getDate() + 50);

もし日数を加算した結果、月や年が変わる場合、デイトオブジェクトがそれらの変更を自動的に処理(繰り上げ)してくれます。

6. setHours() メソッド

setHours() メソッドは、デイトオブジェクトの「時」を設定します(0-23)。

6.1 コード例

const d = new Date("January 01, 2025");
d.setHours(22);

setHours() メソッドは、同時に「分」と「秒」を設定することもできます。

const d = new Date("January 01, 2025");
d.setHours(22, 10, 20);

7. setMinutes() メソッド

setMinutes() メソッドは、デイトオブジェクトの「分」を設定します(0-59)。

7.1 コード例

const d = new Date("January 01, 2025");
d.setMinutes(30);

8. setSeconds() メソッド

setSeconds() メソッドは、デイトオブジェクトの「秒」を設定します(0-59)。

8.1 コード例

const d = new Date("January 01, 2025");
d.setSeconds(30);

9. 日付の比較

デイトオブジェクト同士は、比較演算子を使って簡単に比較することができます。
以下の例では、今日の日付と 2100年1月14日 を比較しています。

9.1 コード例

let text = "";
const today = new Date();
const someday = new Date();
someday.setFullYear(2100, 0, 14);

if (someday > today) {
  text = "今日は 2100年1月14日 より前の日付です。";
} else {
  text = "今日は 2100年1月14日 より後の日付です。";
}

リマインド: > JavaScriptでは月を 0 から 11 でカウントします。1月は 0、12月は 11 です。