如何在 JavaScript 中添加月份到日期?
要在 JavaScript 中向日期添加月份,可以使用 Date.setMonth() 方法。JavaScript 日期 setMonth() 方法根据本地时间设置指定日期的月份。此方法接受两个参数,第一个是月份数,第二个参数是天数。月份计数从 0 开始,例如,0 代表一月,1 代表二月……以此类推。
语法
Date.setMonth(monthsValue , [daysValue]);
注意 − 括号中的参数始终是可选的。
参数详情
monthsValue − 0 到 11 之间的整数,表示月份。尽管我们也可以使用大于 11 或小于 0 的数字。例如,-1 代表上一年的最后一个月,12 代表下一年的第一个月。
daysValue − 1 到 31 之间的整数,表示月份中的某一天。如果您指定 daysValue 参数,则还必须指定 monthsValue。您也可以指定大于 31 和小于 1 的数字。例如,0 代表上个月的最后一天,-1 代表上个月的倒数第二天。32 代表下个月的第一天。
算法
步骤 1 − 首先我们获取当前日期或定义一个日期并显示它。
步骤 2 − 接下来,我们使用 getMonth() 方法 获取当前日期的月份。
步骤 3 − 定义要添加的月份数。
步骤 4 − 使用 setMonth() 设置日期的月份并显示更新后的日期。
要使用 setMonth() 方法向 Date 对象添加月份,首先我们使用 getMonth() 方法获取当前 Date 的月份值,然后向其中添加一定数量的月份,并将添加的值传递给 setMonth() 方法。
示例
在下面的示例中,我们将 3 个月添加到当前日期,并显示当前日期和更新后的日期。我们使用 getMonth() 和 setMonth() 方法来获取当前月份和设置新月份。
<html> <body> <p> Add 3 months to the current date/time.</p> <p id="currentTime">Current Date : </p> <p id="updatedTime">Updated Date: </p> <script> let dt = new Date(); document.getElementById("currentTime").innerText += dt let no_of_months = 3; dt.setMonth(dt.getMonth() + no_of_months) document.getElementById("updatedTime").innerText += dt; </script> </body> </html>
示例
在下面的示例中,我们将日期设置为“2023 年 8 月 20 日 11:30:25”。我们将两个月添加到此日期。我们显示之前的日期和更新后的日期。
<html> <body> <p> Add 2 months to the current date/time.</p> <p id="currentTime">Old Date : </p> <p id="updatedTime">Updated Date: </p> <script> let dt = new Date("August 20, 2023 11:30:25"); document.getElementById("currentTime").innerText += dt let no_of_months = 2; dt.setMonth(dt.getMonth() + no_of_months) document.getElementById("updatedTime").innerText += dt; </script> </body> </html>
示例
在这个示例中,我们将 4 个月添加到当前日期。我们将当前日期和更新后的日期以 MM/DD/YYYY 格式显示。
<!DOCTYPE html> <html> <body> <p> Click on the button to add 4 months to the current date (MM/DD/YYYY).</p> <button onclick="add()">Click Me</button> <p id="currentTime">Current Date : </p> <p id="updatedTime">Updated Date: </p> <script> // Code the show current time let ct = document.getElementById("currentTime") let currentDate = Date.now(); ct.innerText += new Date(currentDate).toLocaleDateString() // Code to add 3 Months to current Time let ut = document.getElementById("updatedTime") function add() { let dt = new Date(); let no_of_months = 4; dt.setMonth(dt.getMonth() + no_of_months) ut.innerText += dt.toLocaleDateString(); } </script> </body> </html>
注意 − 日期格式为 MM/DD/YYYY。
在本教程中,我们讨论了如何向日期添加月份。为此,我们使用了两种方法。一种是 getMonth() 方法,用于获取日期的月份。另一种是 setMonth() 方法,用于使用新月份设置日期的月份。