このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
Date.prototype.setHours()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
setFullYear() はDate インスタンスのメソッドで、地方時に基づき、時、分、秒、ミリ秒を変更します。
In this article
試してみましょう
const event = new Date("August 19, 1975 23:15:30");event.setHours(20);console.log(event);// 予想される結果: "Tue Aug 19 1975 20:15:30 GMT+0200 (CEST)"// メモ: 時間帯は変化しますevent.setHours(20, 21, 22);console.log(event);// 予想される結果: "Tue Aug 19 1975 20:21:22 GMT+0200 (CEST)"構文
setHours(hoursValue)setHours(hoursValue, minutesValue)setHours(hoursValue, minutesValue, secondsValue)setHours(hoursValue, minutesValue, secondsValue, msValue)引数
hoursValue「時」を表す 0 から 23 までの間の整数値です。
minutesValue省略可「分」を表す 0 から 59 までの間の整数値です。
secondsValue省略可「秒」を表す 0 から 59 までの間の整数値です。
secondsValue引数を指定した場合は、minutesValueも指定しなければなりません。msValueミリ秒を表す 0 から 999 までの間の整数値です。999 よりも大きな値が指定された場合は、日時は追加のミリ秒数だけ増加します。
msValue引数を指定した場合、minutesValueとsecondsValueも指定しなければなりません。
返値
その場でDate オブジェクトを変更し、新しいタイムスタンプを返します。引数がNaN (またはundefined など、NaN に変換されるその他の値)の場合、日付は無効な日時に設定され、NaN が返されます。
解説
minutesValue,secondsValue およびmsValue 引数を指定しなかった場合、getMinutes()、getSeconds()、getMilliseconds() メソッドから返される値が使われます。
指定した値が期待される日付の範囲外の場合、それに応じてsetHours() が他の引数とDate オブジェクトの日付情報の更新を試みます。例えば、secondsValue に 100 を指定した場合、分に 1 加算 (minutesValue + 1) され、秒が 40 になります。
例
>setHours() の使用
const theBigDay = new Date();theBigDay.setHours(7);仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-date.prototype.sethours> |