2

我有一个文本框。当我MM/DD/YYYY在该文本框中输入格式的日期并在文本框外部单击时,我需要将结果显示为MM/DD/YYYY+3使用 JavaScript。

例如,如果我的日期是 2013 年 12 月 31 日,那么结果将是 2014 年 1 月 3 日。

4

3 回答 3

4

希望此链接能帮助您找到答案:

将天数添加到输入日期在 javascript中。

于 2013-08-08T11:50:29.737 回答
1

查看出色的库moment.js,您可以使用它轻松地将原始日期添加三天。

在您的情况下,它将类似于:

var input = moment(myTextBoxValue);
input.add('d', 3); // input is now 3 days later
于 2013-08-08T11:52:01.957 回答
1

我想最容易编程和可读性最好的解决方案是使用专门的库来处理日期,例如Moment.js

在那里,您有add 功能,它允许您将任意数量的时间添加到给定的时间点。例如:

moment().add('days', 7);

如果您使用该moment函数解析输入的时间,将其用作源值,调用add它,然后Date使用toDate 函数将其作为 JavaScript 返回,您将得到您想要的。

所以基本上它归结为:

var sourceDate = moment(new Date(2013, 7, 8)),
    targetDate = sourceDate.add('days', 3),
    result = targetDate.toDate();

然后,result包含Date您想要拥有的对象。

我更喜欢它而不是原生 JavaScript 处理Date,因为它更易读,因此更容易理解。

于 2013-08-08T11:52:02.210 回答