Date.prototype.setMinutes()
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
setMinutes() は Date インスタンスのメソッドで、現地時間に基づき、指定された日時の「分」を設定します。
試してみましょう
const event = new Date("August 19, 1975 23:15:30");
event.setMinutes(45);
console.log(event.getMinutes());
// 予想される結果: 45
console.log(event);
// 予想される結果: "Tue Aug 19 1975 23:45:30 GMT+0200 (CEST)"
// メモ: タイムゾーンは変わる可能性があります
構文
setMinutes(minutesValue)
setMinutes(minutesValue, secondsValue)
setMinutes(minutesValue, secondsValue, msValue)
引数
minutesValue-
「分」を表す 0 から 59 までの間の整数値。
secondsValue省略可-
「秒」を表す 0 から 59 までの間の整数値。
secondsValue引数を指定した場合、minutesValueも指定しなければなりません。 msValue省略可-
ミリ秒を表す 0 から 999 までの間の整数値。
msValue引数を指定した場合、minutesValueとsecondsValueも指定しなければなりません。
返値
その場で Date オブジェクトを変更し、新しいタイムスタンプを返します。引数が NaN (または undefined など、 NaN に変換されるその他の値)の場合、日付は無効な日時に設定され、 NaN が返されます。
解説
secondsValue および msValue 引数を指定しない場合、getSeconds() と getMilliseconds() メソッドから返される値が使われます。
指定した値が期待される日時の範囲外の場合、それに応じて setMinutes() が Date オブジェクトの日付情報の更新を試みます。例えば、secondsValue に 100 を指定した場合、分に 1 が加算 (minutesValue + 1) され、秒が 40 になります。
setMinutes() は現地時間を基に動作するため、夏時間 (DST) の境界を越えると、予想外の経過時間が算出されることがあります。例えば、日付の設定によって「春の移行期間(1 時間遅れる)」を跨ぐ場合、新しい日付と古い日付のタイムスタンプの差は、名目上の日数の差に24時間を掛けた値よりも 1 時間少なくなります。逆に、夏時間終了(1 時間進む)の移行期間を越えた場合は、1 時間分多く加算されます。日付を一定の時間分調整する必要がある場合は、setUTCMinutes() または setTime() を考えてみることを検討してください。
新しい現地時刻がオフセットの移行期間内に該当する場合、正確な時刻は Temporal の disambiguation: "compatible" オプションと同じ動作を使用して算出されます。つまり、現地時刻が 2 つの瞬間に該当する場合は、より早い方が選択されます。現地時刻が存在しない場合(ギャップがある場合)、ギャップの期間分だけ先へ進みます。
例
>setMinutes() の使用
const theBigDay = new Date();
theBigDay.setMinutes(45);
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-date.prototype.setminutes> |