JavaScript

Date.prototype.setUTCHours() メソッド

 編集:2022.12.05 by T.A.

[Edge]。→

Date に日時の「時」(任意で「分」「秒」「ミリ秒」も)を協定世界時に基づき設定します。

戻り値として、更新後の日時の、協定世界時(UTC)での 1970 年 1 月 1 日 0 時 0 分 0 秒からのミリ秒単位の数値を返します。

構文
Date.setUTCHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
Date Date
hoursValue 「時」を表す整数値(0~23)※。
minutesValue 省略可。「分」を表す整数値(0~59)※。
secondsValue 省略可。「秒」を表す整数値(0~59)※。
msValue 省略可。「ミリ秒」を表す整数値(0~999)※。

※: 範囲外の値の場合、Date、設定値から計算されて増減して設定されます。

返値

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

解説/mdn

minutesValuesecondsValue および msValue 引数を指定しない場合、getUTCMinutes()getUTCSeconds()getUTCMilliseconds() メソッドから返される値が使われます。

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

/mdn
var theBigDay = new Date();
D=theBigDay.setUTCHours(8); //=1659773051366。theBigDay=[object]:Sat Aug 06 2022 17:04:35 GMT+0900 (日本標準時)
DA=new Date('2020-10-05T20:30:11');  //2020年10月5月20時30分11秒
T=DA.setUTCHours(8);  //8時で設定。
DO=new Date(T);
D=DO.toISOString();  //=[string]:2020-10-05T08:30:11.000Z

T=DA.setUTCHours(-1);  //0時の-1時間で設定。
DO=new Date(T);
D=DO.toISOString();  //=[string]:2020-10-04T23:30:11.000Z

テスト