JavaScript

Date.prototype.setDate()メソッド

 編集:2022.12.05 by T.A.

[Edge]。→

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

構文
Date.setDate(dayValue)
Date Date
dayValue 「日」を表す整数の数値(1~31)。Date の「月」で範囲外の値は、その超えた分だけ設定日時が増減します。
返り値

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

解説

dayValue がその月の日付の範囲外の値の場合、それに応じて setDate() が Date オブジェクトを更新します。

例えば、dayValue に 0 を与えた場合、日付は前月の最終日に設定されます。

dayValue に負の数を指定すると、前月の最終日から逆算して日付が設定されます。-1 の場合、日付は前月の最終日の 1 日前に設定されます。

/mdn
var theBigDay = new Date(1962, 6, 7); // 1962-07-07 (7th of July 1962)
//→=[object]:Sat Jul 07 1962 00:00:00 GMT+0900 (日本標準時)
theBigDay.setDate(24);  // 1962-07-24 (24th of July 1962)
//→=[object]:Tue Jul 24 1962 00:00:00 GMT+0900 (日本標準時)
theBigDay.setDate(32);  // 1962-08-01 (1st of August 1962)
//→=[object]:Wed Aug 01 1962 00:00:00 GMT+0900 (日本標準時)
theBigDay.setDate(22);  // 1962-08-22 (22th of August 1962)
theBigDay.setDate(0);   // 1962-07-31 (31th of July 1962)
theBigDay.setDate(98);  // 1962-10-06 (6th of October 1962)
theBigDay.setDate(-50); // 1962-08-11 (11th of August 1962)
Dat=new Date("2020-3-5");  //日時指定で Date オブジェクト作成。
D=Dat.toLocaleString();    //見やすく日時を表示。
	//=[string]:2020/3/5 0:00:00
N=Dat.setDate(10);         //「日」を変更。
	//=[number]:1583766000000
DA=Dat.toLocaleString();   //更新後の日時を見やすく表示。
	//=[string]:2020/3/10 0:00:00
N=Dat.setDate(-1);        //「日」を変更。
DA=Dat.toLocaleString();  //更新後の日時を見やすく表示。
	//=[string]:2020/2/28 0:00:00

new Date()toLocaleString()


テスト