JavaScript

Date.prototype.setHours()メソッド

 編集:2022.12.05 by T.A.

[Edge]。→

Date に日時の「時」(オプションで「分」「秒」「ミリ秒」)を地方時に基づき設定をします。戻り値として、更新後の日時の、協定世界時(UTC)での 1970 年 1 月 1 日 0 時 0 分 0 秒からミリ秒単位の数値をかえします。

構文
Date.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])

JavaScript 1.3 以前:

Date.setHours(hoursValue)
Date Date
hoursValue 「時」を表す整数数値(0~23)。範囲外の値はその超えた分だけ設定日時が増減します。
minutesValue 省略可。「分」を表す整数数値(0~59)。範囲外の値はその超えた分だけ設定日時が増減します。
secondsValue 省略可。「秒」を表す整数数値(0~59)。範囲外の値はその超えた分だけ設定日時が増減します。
msValue 省略可。「ミリ秒」を表す整数数値(0~999)。範囲外の値はその超えた分だけ設定日時が増減します
返り値

更新後の日時の、協定世界時(UTC)での 1970 年 1 月 1 日 0 時 0 分 0 秒からミリ秒単位の数値。

解説/mdn

minutesValuesecondsValue および msValue 引数を指定しなかった場合、getMinutes()getSeconds()getMilliseconds() メソッドから返される値が使われます。

指定した値が期待される日付の範囲外の場合、それに応じて setHours() が他の引数と Date オブジェクトの日付情報の更新を試みます。例えば、secondsValue に 100 を指定した場合、分に 1 加算(minutesValue + 1)され、秒が 40 になります。

/mdn
var theBigDay = new Date();
D=theBigDay.setHours(7); //=1659738265184
Dat=new Date("2020-3-5 5:20");  //日時を指定して Date オブジェクトを作成。
D=Dat.toLocaleString();         //見やすく日時を表示。
	//=[string]:2020/3/5 5:20:00
N=Dat.setHours(10);       //「時」設定。
	//=[number]:1583371200000
DA=Dat.toLocaleString();  //更新後の日時を見やすく表示。
	//=[string]:2020/3/5 10:20:00
Dat.setHours(24);         //「時」設定(範囲外)。
DA=Dat.toLocaleString();  //更新後の日時を見やすく表示。
	//=[string]:2020/3/6 0:20:00
Dat.setHours(-1);         //「時」設定(範囲外)。
DA=Dat.toLocaleString();  //更新後の日時を見やすく表示。
	//=[string]:2020/3/5 23:20:00

テスト