如何在 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() 方法,用于使用新月份设置日期的月份。