JavaScript - 日付・時刻を計算する

日付・時刻の計算

日付・時刻を計算するには、以下のように記述します。

var today = new Date(2019, 0, 1, 1, 1, 1);

// 1年後
today.setFullYear(today.getFullYear() + 1);

// 1ヶ月後
today.setMonth(today.getMonth() + 1);

// 1日後
today.setDate(today.getDate() + 1);

// 1時間後
today.setHours(today.getHours() + 1);

// 1分後
today.setMinutes(today.getMinutes() + 1);

// 1秒後
today.setSeconds(today.getSeconds() + 1);

console.log(today); // Sun Feb 02 2020 02:02:02 GMT+0900 (日本標準時)
日付を取得する

setFullYear() メソッドは、地方時に基づき、指定された日付の「年」を設定します。新しいタイムスタンプを返します。setFullYear() メソッドの返り値は、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日付までの間のミリ秒単位の数値を返します。setFullYear の構文は以下のとおりです。

dateObj.setFullYear(yearValue[, monthValue[, dayValue]])
日付・時刻を計算する - setFullYear
yearValue
「年」の数字を指定する整数値です。
monthValue
1 月から 12 月を表す 0 から 11 までの間の整数値です。このパラメータは、オプションであるため省略可能です。
dayValue
「日」を表す 1 から 31 までの間の整数値。dayValue 引数を指定した場合 monthValue も指定しなければなりません。このパラメータは、オプションであるため省略可能です。

setMonth() メソッドは、現在設定されている年に基づき、指定された日付の「月」を設定します。setMonth() メソッドの返り値は、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値を返します。setMonth の構文は以下のとおりです。

dateObj.setMonth(monthValue[, dayValue])
日付・時刻を計算する - setMonth
monthValue
1 月から 12 月までを表す 0 から 11 までの間の整数値です。
dayValue
「日」を表す 1 から 31 までの間の整数値です。このパラメータは、オプションであるため省略可能です。

setDate() メソッドは、現在設定されている月から始まる Date オブジェクトの「日」を設定します。setDate() メソッドの返り値は、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から与えられた日付までの間のミリ秒単位の数値を返します。setDate の構文は以下のとおりです。

dateObj.setDate(dayValue)
日付・時刻を計算する - setDate
dayValue
「日」を表す整数の値です。0 を与えた場合、日付は前月の最終日に設定されます。

setHours() メソッドは、地方時に基づき、指定された日付の「時」を設定し、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された Date インスタンスが表す時刻までの間のミリ秒単位の数値を返します。setHours の構文は以下のとおりです。

dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
日付・時刻を計算する - setHours
hoursValue
「時」を表す 0 から 23 までの間の整数値。
minutesValue
「分」を表す 0 から 59 までの間の整数値。このパラメータは、オプションであるため省略可能です。
secondsValue
「秒」を表す 0 から 59 までの間の整数値。secondsValue 引数を指定した場合、minutesValue も指定しなければなりません。このパラメータは、オプションであるため省略可能です。
msValue
ミリ秒を表す 0 から 999 までの間の整数値。msValue 引数を指定した場合、minutesValuesecondsValue も指定しなければなりません。このパラメータは、オプションであるため省略可能です。

setMinutes() メソッドは、地方時に基づき、指定された日時の「分」を設定します。setMinutes の構文は以下のとおりです。

dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
日付・時刻を計算する - setMinutes
minutesValue
「分」を表す 0 から 59 までの間の整数値。
secondsValue
「秒」を表す 0 から 59 までの間の整数値。secondsValue 引数を指定した場合、minutesValue も指定しなければなりません。このパラメータは、オプションであるため省略可能です。
msValue
ミリ秒を表す 0 から 999 までの間の整数値。msValue 引数を指定した場合、minutesValuesecondsValue も指定しなければなりません。このパラメータは、オプションであるため省略可能です。

setSeconds() メソッドは、地方時に基づき、指定された日時の「秒」を設定します。setSeconds の構文は以下のとおりです。

dateObj.setSeconds(secondsValue[, msValue])
日付・時刻を計算する - setSeconds
secondsValue
「秒」を表す 0 から 59 までの間の整数値。
msValue
ミリ秒を表す 0 から 999 までの間の整数値。msValue 引数を指定した場合、minutesValuesecondsValue も指定しなければなりません。msValue 引数を指定しない場合、getMilliseconds() メソッドから返される値が使われます。このパラメータは、オプションであるため省略可能です。

関連記事

Category:
プログラミング
公開日:
更新日:
Pageviews:
10
Shares:
2
Tag:
JavaScript
コードレシピ