【问题标题】:calculate end date from start date and duration in jquery从jquery中的开始日期和持续时间计算结束日期
【发布时间】:2014-10-08 04:02:24
【问题描述】:

我有一种情况,我知道事件的开始日期和持续时间(1 年),以天为单位,我如何计算结束日期?提前致谢。

这一步我试过了,但是输出的日期无效

    var date1 = new Date($('#startDate1').find('input').val());

    var yearLater=new Date(date1 + ((31557600 - 86400) * 1000));

    $('#endDate1').find('input').val(yearLater);

【问题讨论】:

  • 什么是(31557600 - 86400) * 1000
  • 您要更改年份还是添加 365 天?
  • 这将是 364.25 天的毫秒数。
  • @ArunPJohny,我不知道,我只是从其他来源复制的,我认为这是一个一年的过程 - 毫秒1天

标签: jquery date


【解决方案1】:

你可以这样做: 在Date中添加方法addDays

Date.prototype.addDays = function(days) {
    this.setDate(this.getDate() + days);
    return this;
};

例子:

d = new Date();

d = d.addDays(365);

编辑: 这是来自控制台的示例:

d = 新日期()

< Tue Oct 07 2014 21:26:42 GMT-0700 (PDT)

> d.addDays(3)

< Fri Oct 10 2014 21:26:42 GMT-0700 (PDT)

【讨论】:

  • @Sam Battat 是几天?
  • 您要添加的天数。这是在修改 Date 对象并添加一个名为“addDays”的方法之后
  • 谢谢。我试过了,但它不起作用。这是因为我正在使用 bonitasoft 并应用 javascript/jquery 来计算结束日期。
【解决方案2】:

如果你想增加一年,那么

var date1 = new Date($('#startDate1').find('input').val());
var yearLater = new Date(date1);
yearLater.setYear(date1.getyear() + 1)
yearLater.setDate(date1.getDate() - 1)
$('#endDate1').find('input').val(yearLater);

【讨论】:

  • Emm...如果我有开始日期和持续时间,我想计算结束日期。例如,持续时间为一年,开始日期为 2015 年 1 月 1 日。因此,输出应该是 2014 年 12 月 31 日,对吧?你能帮我解决这个问题吗?顺便说一句,感谢您回答我的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多