JavaScript Date setMonth() 方法



JavaScript 中的Date.setMonth()方法用於將 Date 物件的月份設定為指定的值,範圍從 0 到 11,其中 0 表示 1 月,11 表示 12 月。此方法更改日期物件的月份元件,而不更改其他元件,例如日期、年份、小時、分鐘、秒和毫秒。如果提供給此方法的值超出有效範圍(0 到 11),則日期物件的其他元件將相應調整。

或者,我們還可以修改日期物件中的日期值。如果 Date 物件的日期無效,則此方法將返回“NaN”作為結果。

語法

以下是 JavaScript Date setMonth() 方法的語法:

setMonth(monthValue, dateValue);

引數

此方法接受兩個引數。下面描述了這兩個引數:

  • monthValue − 一個介於 0 和 11 之間的整數,其中 0 為 1 月,11 為 12 月。
    • 如果提供 -1,則將導致前一年的最後一個月。
    • 如果提供 12,則將導致下一年的第一個月。
  • dateValue (可選) − 一個介於 1 和 31 之間的整數。
    • 如果提供 0,則將導致前一個月的最後一天。
    • 如果提供 -1,則將導致前一個月的倒數第二天。
    • 如果提供 32,則將導致下一月的第一天(如果該月有 31 天)。
    • 如果提供 32,則將導致下一月的第二天(如果該月有 30 天)。

返回值

此方法返回表示在設定新月份(以及可選的日期)後調整後的日期的時間戳。

示例 1

在以下示例中,我們使用 JavaScript Date setMonth() 方法將 Date 物件的“月份”設定為 10(11 月):

<html>
<body>
<script>
   let date = new Date();
   date.setMonth(10); // Sets the month to November

   document.write(date);
</script>
</body>
</html>

輸出

如果我們執行上述程式,月份將設定為 10,年份和日期將根據本地時間。

示例 2

在這裡,我們已將月份設定為 10(11 月)且日期設定為(25):

<html>
<body>
<script>
   let date = new Date();
   date.setMonth(10, 25); // Set month to November, and day to 25

   document.write(date);
</script>
</body>
</html>

輸出

執行此程式後,將返回一個帶有指定日期的時間戳。

示例 3

如果我們為 monthValue 提供“12”,則年份將加 1(yearValue + 1),並且 0 將用於月份。

<html>
<body>
<script>
   const date = new Date('2022-11-15'); //December 15 2022
   date.setMonth(12, 15); // It will be January 15 2023

   document.write(date);
</script>
</body>
</html>

輸出

它返回一個時間戳,例如“2023年1月15日星期日 05:30:00 GMT+0530 (印度標準時間)”。

示例 4

如果我們為 dateValue 提供“32”,則月份將加 1(如果該月有 31 天),並將導致下一月的第一天。

<html>
<body>
<script>
   const date = new Date('2023-10-30'); //October 2023 has 31 days.
   date.setMonth(9, 32); //It will be November 1 2023.

   document.write(date);
</script>
</body>
</html>

輸出

它返回一個時間戳,例如“2023年11月1日星期三 05:30:00 GMT+0530 (印度標準時間)”。

示例 5

如果我們將無效的日期值作為引數傳遞給此函式,則日期將設定為“無效日期”,並且“NaN”作為結果返回:

<html>
<body>
   const date = new Date('2023-10-30'); //October 30 2023
   date.setMonth("asd", "vfdva"); //Invalid date

   document.write(date.getMonth());
</script>
</body>
</html>

輸出

如我們所見,輸出為“NaN”。

廣告