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 (日本標準時)
日付・時刻の計算

Date.prototype.setFullYear()

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 も指定しなければなりません。このパラメータは、オプションであるため省略可能です。
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
31211
◯:Support ✕:Not Support ?:未定義 n:以降の Version で Support

Date.prototype.setMonth()

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

dateObj.setMonth(monthValue[, dayValue])
setMonth() メソッド
monthValue
1 月から 12 月までを表す 0 から 11 までの間の整数値です。
dayValue
「日」を表す 1 から 31 までの間の整数値です。このパラメータは、オプションであるため省略可能です。
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
31211
◯:Support ✕:Not Support ?:未定義 n:以降の Version で Support

Date.prototype.setDate()

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

dateObj.setDate(dayValue)
setDate() メソッド
dayValue
「日」を表す整数の値です。0 を与えた場合、日付は前月の最終日に設定されます。
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
31211
◯:Support ✕:Not Support ?:未定義 n:以降の Version で Support

Date.prototype.setHours()

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 も指定しなければなりません。このパラメータは、オプションであるため省略可能です。
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
31211
◯:Support ✕:Not Support ?:未定義 n:以降の Version で Support

Date.prototype.setMinutes()

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

dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
setMinutes() メソッド
minutesValue
「分」を表す 0 から 59 までの間の整数値。
secondsValue
「秒」を表す 0 から 59 までの間の整数値。secondsValue 引数を指定した場合、minutesValue も指定しなければなりません。このパラメータは、オプションであるため省略可能です。
msValue
ミリ秒を表す 0 から 999 までの間の整数値。msValue 引数を指定した場合、minutesValuesecondsValue も指定しなければなりません。このパラメータは、オプションであるため省略可能です。
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
31211
◯:Support ✕:Not Support ?:未定義 n:以降の Version で Support

Date.prototype.setSeconds()

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

dateObj.setSeconds(secondsValue[, msValue])
setSeconds() メソッド
secondsValue
「秒」を表す 0 から 59 までの間の整数値。
msValue
ミリ秒を表す 0 から 999 までの間の整数値。msValue 引数を指定した場合、minutesValuesecondsValue も指定しなければなりません。msValue 引数を指定しない場合、getMilliseconds() メソッドから返される値が使われます。このパラメータは、オプションであるため省略可能です。
サポートブラウザ
ie
IE
edge
Edge
firefox
Firefox
chrome
Chrome
safari
Safari
opera
Opera
safari
iOS Safari
android
Android
31211
◯:Support ✕:Not Support ?:未定義 n:以降の Version で Support

関連記事