【问题标题】:Add 5 days to the current date using JavaScript [duplicate]使用 JavaScript 将 5 天添加到当前日期 [重复]
【发布时间】:2013-04-01 09:41:29
【问题描述】:

我正在尝试使用 JavaScript 将今天的日期添加 5 天。我还尝试将此功能添加到一个按钮中,以便在我单击它时结果出现在一个警告框中,而不是在我打开页面时立即出现。

我是 JavaScript 新手,正在努力学习。

有什么帮助吗? 谢谢!

【问题讨论】:

标签: javascript html datetime button


【解决方案1】:

声明一个Date 变量(它将被设置为当前日期/时间):

var dt = new Date();

加 5 天:

dt.setDate(dt.getDate() + 5);

将以上所有内容放入您的 click 处理函数中。比如:

document.getElementById('dateBtn').onclick = function () {
   var dt = new Date();
   dt.setDate(dt.getDate() + 5);
   alert(dt);
};

FIDDLE EXAMPLE

【讨论】:

  • 我们如何合并边缘案例?如果加上 6 天,8 月 30 日加上 5 天应该是 9 月 5 日?
  • @Gauzdx 我不确定我是否理解您的问题,JavaScript 日期引擎应该处理几个月内的几天、间隔年和所有这些事情。您正在测试的某些特定代码是否会给您带来意想不到的结果?
【解决方案2】:
var date = new Date();          // Get current Date

date.setDate(date.getDate()+5); // add 5 days to the current date

有关更多信息,请参阅Date。

【讨论】:

  • “Hope it works” 并不是一个好的答案。
【解决方案3】:

可能有点矫枉过正,但moment.js 可能对你有用。

【讨论】:

  • 这是一个相当大的矫枉过正,因为 OP 是 JavaScript 的新手。
  • 同意,只是想给 OP 选项。
【解决方案4】:

创建一个Date 实例五天:

var fiveDaysLater = new Date( AnyYourDate.getTime() );
fiveDaysLater.setDate(fiveDaysLater.getDate() + 5);

【讨论】:

    【解决方案5】:

    JavaScript 以毫秒为单位存储日期和时间。所以,加上 5 天的价值:

    var fiveDaysLater = new Date(0,0,0,0,0,0,Date.now() + 5 * 24 * 60 * 60 * 1000);
    

    Date.now() 以毫秒为单位返回一个值。 然后,日期构造函数 (new Date) 使用该值加上五天的毫秒数创建一个新的日期对象(因此关键字 new),并初始化变量 fiveDaysLater。

    【讨论】:

    • var d = new Date(); d.setTime(d.getTime+(5*86400000))
    猜你喜欢
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    相关资源
    最近更新 更多