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]])
日付・時刻を計算する - setFullYearyearValue
- 「年」の数字を指定する整数値です。
monthValue
- 1 月から 12 月を表す 0 から 11 までの間の整数値です。このパラメータは、オプションであるため省略可能です。
dayValue
- 「日」を表す 1 から 31 までの間の整数値。
dayValue
引数を指定した場合monthValue
も指定しなければなりません。このパラメータは、オプションであるため省略可能です。
setMonth()
メソッドは、現在設定されている年に基づき、指定された日付の「月」を設定します。setMonth()
メソッドの返り値は、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値を返します。setMonth
の構文は以下のとおりです。
dateObj.setMonth(monthValue[, dayValue])
日付・時刻を計算する - setMonthmonthValue
- 1 月から 12 月までを表す 0 から 11 までの間の整数値です。
dayValue
- 「日」を表す 1 から 31 までの間の整数値です。このパラメータは、オプションであるため省略可能です。
setDate()
メソッドは、現在設定されている月から始まる Date
オブジェクトの「日」を設定します。setDate()
メソッドの返り値は、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から与えられた日付までの間のミリ秒単位の数値を返します。setDate
の構文は以下のとおりです。
dateObj.setDate(dayValue)
日付・時刻を計算する - setDatedayValue
- 「日」を表す整数の値です。0 を与えた場合、日付は前月の最終日に設定されます。
setHours()
メソッドは、地方時に基づき、指定された日付の「時」を設定し、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された Date
インスタンスが表す時刻までの間のミリ秒単位の数値を返します。setHours
の構文は以下のとおりです。
dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
日付・時刻を計算する - setHourshoursValue
- 「時」を表す 0 から 23 までの間の整数値。
minutesValue
- 「分」を表す 0 から 59 までの間の整数値。このパラメータは、オプションであるため省略可能です。
secondsValue
- 「秒」を表す 0 から 59 までの間の整数値。
secondsValue
引数を指定した場合、minutesValue
も指定しなければなりません。このパラメータは、オプションであるため省略可能です。 msValue
- ミリ秒を表す 0 から 999 までの間の整数値。
msValue
引数を指定した場合、minutesValue
とsecondsValue
も指定しなければなりません。このパラメータは、オプションであるため省略可能です。
setMinutes()
メソッドは、地方時に基づき、指定された日時の「分」を設定します。setMinutes
の構文は以下のとおりです。
dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
日付・時刻を計算する - setMinutesminutesValue
- 「分」を表す 0 から 59 までの間の整数値。
secondsValue
- 「秒」を表す 0 から 59 までの間の整数値。
secondsValue
引数を指定した場合、minutesValue
も指定しなければなりません。このパラメータは、オプションであるため省略可能です。 msValue
- ミリ秒を表す 0 から 999 までの間の整数値。
msValue
引数を指定した場合、minutesValue
とsecondsValue
も指定しなければなりません。このパラメータは、オプションであるため省略可能です。
setSeconds()
メソッドは、地方時に基づき、指定された日時の「秒」を設定します。setSeconds
の構文は以下のとおりです。
dateObj.setSeconds(secondsValue[, msValue])
日付・時刻を計算する - setSecondssecondsValue
- 「秒」を表す 0 から 59 までの間の整数値。
msValue
- ミリ秒を表す 0 から 999 までの間の整数値。
msValue
引数を指定した場合、minutesValue
とsecondsValue
も指定しなければなりません。msValue
引数を指定しない場合、getMilliseconds()
メソッドから返される値が使われます。このパラメータは、オプションであるため省略可能です。