2014-10-08 254 views
0

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

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

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

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

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

是什么'(31557600 - 86400 )* 1000'? – 2014-10-08 04:05:41

+0

是否要更改年份或添加365天? – Cheery 2014-10-08 04:10:25

+0

这将是364.25天内的毫秒数。 – grin0048 2014-10-08 04:10:32

回答

0

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

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) 
+0

什么是@Sam Battat的日子? – chemat92 2014-10-08 04:23:54

+0

您想要添加的天数。这是在修改Date对象并添加一个名为'addDays'的方法后 – 2014-10-08 04:27:43

+0

谢谢。我已经尝试过了,但它不起作用。这是因为我正在使用bonitasoft并应用javascript/jquery来计算结束日期。 – chemat92 2014-10-09 03:12:27

0

如果你想添加的一年然后

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); 
+0

Emm ...我想计算结束日期,如果我有开始日期和持续时间。例如,持续时间是一年,开始日期是2015年1月1日。因此,产量应该是31/12/2014,对吗?你能帮助我吗?顺便说一句,感谢您回复我的问题 – chemat92 2014-10-08 06:34:24

+0

@ chemat92尝试更新 – 2014-10-08 06:42:00

相关问题