【问题标题】:Add days, weeks, months to date using jQuery使用 jQuery 添加日期、星期、月份日期
【发布时间】:2015-06-22 16:47:01
【问题描述】:

我有一个表单,可让用户选择发票日期和付款条件。付款条件是;发票日期起 1 周、发票日期起 4 周、发票日期起 1 个月等。

当用户选择了发票日期和付款条件后,我想生成发票到期日。

我的问题是,如何在 jQuery 中添加日期以及如何以可靠的方式进行添加。例如,考虑到闰年和每个月不同的天数。例如,将 1 个月添加到 10 月 31 日应该是 11 月 30 日而不是 11 月 31 日。

我通过搜索谷歌找到了一些解决方案,但它们似乎在闰年等时失败了。

【问题讨论】:

标签: jquery date


【解决方案1】:

jQuery 不适用于 DateTime 操作。它用于查询和操作 DOM 对象。对于您的需要,您可以自己实现,也可以使用专门的第三方库。

Moment.js 非常简洁。

例子:

moment().subtract(10, 'days').calendar(); // 06/12/2015
moment().subtract(6, 'days').calendar();  // Last Tuesday at 1:51 PM
moment().subtract(3, 'days').calendar();  // Last Friday at 1:51 PM
moment().subtract(1, 'days').calendar();  // Yesterday at 1:51 PM
moment().calendar();                      // Today at 1:51 PM
moment().add(1, 'days').calendar();       // Tomorrow at 1:51 PM
moment().add(3, 'days').calendar();       // Thursday at 1:51 PM
moment().add(10, 'days'

更多示例:http://momentjs.com/

【讨论】:

    【解决方案2】:

    Javascript 有默认的日期对象,你可以这样使用。 moment.js 也是一个不错的选择。

        var date = new Date();
    
        // add a day or anyday you like 
        date.setDate(date.getDate() + 1);
    
        document.write(date);

    【讨论】:

    • 没错,我需要明确一点,在 javascript 中,1 月是“0”月份,12 月被算作“11”。
    • date.getMonth();将以数字形式返回月份,jan 为 1,dec 为 12,但您始终可以-1。得到基数 0。
    • 抱歉,javascript 月份已经以 0 为底,所以不需要数学...忽略之前的评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 2021-12-16
    相关资源
    最近更新 更多