[Edge]。→
Date に日時の「月」(オプションで「日」も)を地方時に基づき設定します。戻り値として、更新後の日時の、協定世界時(UTC)での 1970 年 1 月 1 日 0 時 0 分 0 秒からのミリ秒単位の数値が返されます。
JavaScript 1.3 より前のバージョン:
Date | Date。 |
---|---|
monthValue | 「月」を表す整数の数値(0~11)。範囲外の値は、その超えた分だけ設定日時が増減します。 |
dayValue | 省略可。「日」を表す整数の数値(1~31)。¶範囲外の値は、その超えた分だけ設定日時が増減します。 |
更新後の日時の、協定世界時(UTC)での 1970 年 1 月 1 日 0 時 0 分 0 秒からのミリ秒単位の数値。
dayValue 引数を指定しなかった場合、getDate() メソッドから返される値が使われます。
指定した値が期待される日付の範囲外の場合、それに応じて setMonth() が Date オブジェクトの日付情報の更新を試みます。例えば、monthValue に 15 を指定した場合、年に 1 が加算され、月が 3 になります。
このメソッドの動作は、ある特定の月の日にちに影響を与えます。概念上は、その月の日数を、引数として与えた新しい月の初日に加え、新しい日付を返します。例えば、現在の値が 2016 年 8 月 31 日である場合、1 を引数として setMonth() を呼び出すと 2016 年 3 月 2 日が返ってきます。これは、2016 年の 2 月が 29 日間しかないからです。
var theBigDay = new Date(); D=theBigDay.setMonth(6); //=1657110829384。theBigDay=[object]:Wed Jul 06 2022 21:34:18 GMT+0900 (日本標準時)
//月末の異動に注意 var endOfMonth = new Date(2016, 7, 31); D=endOfMonth.setMonth(1); //=1456844400000。endOfMonth=Wed Mar 02 2016 00:00:00 //→endOfMonth=[object]:Wed Mar 02 2016 00:00:00 GMT+0900 (日本標準時)
Dat=new Date("2020-3-5"); //日時指定で Date オブジェクトを作成。 D=Dat.toLocaleString(); //見やすく表示。 //=[string]:2020/3/5 0:00:00 N=Dat.setMonth(1); //「月」を設定。 //=[number]:1580828400000 DA=Dat.toLocaleString(); //更新後の日時を見やすく表示。 //=[string]:2020/2/5 0:00:00 N=Dat.setMonth(-1); //「月」を設定(範囲外)。 DA=Dat.toLocaleString(); //更新後の日時を見やすく表示。 //=[string]:2019/12/5 0:00:00 N=Dat.setMonth(10, -1); //「月」、「日」(範囲外)を設定。 DA=Dat.toLocaleString(); //更新後の日時を見やすく表示。 //=[string]:2019/10/30 0:00:00