如何在输入类型日期Javascript中添加值?

时间:2016-12-18 11:31:07

标签: javascript

好吧,我有这个HTML代码:

<input type="date" name="start_date" value="<?php echo date(" Y-m-d "); ?>"/>
<input type="date" name="finish_date" value="5"/>

start_date finish_date 对象值发生变化时,我需要进行以下计算

start_date + finish_date = final_date

我不知道如何在Javascript中进行上述计算。

按照日期值格式

最终日期,例如: 2016-12-18 + 5 = 2016-12-23

非常感谢任何帮助。

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以将日期转换为时间戳,添加时间戳并构建新日期。

// this is milliseconds
var time_stamp = start_date.getTime() 

var finish_stamp = finish_date.getTime()

var final_date = new Date(time_stamp + finish_stamp);  

答案 1 :(得分:0)

这样可以得到你想要的东西:

var startDate = document.querySelector("[name=start_date]");
var finishDate = document.querySelector("[name=finish_date]");

var start = startDate.valueAsDate;
var days = parseInt(finishDate.value);

var finalDate = new Date(start);
finalDate.setDate(finalDate.getDate() + days);

var fomattedDate = finalDate.getFullYear()
    + ("0" + (finalDate.getMonth() + 1)).slice(-2)
    + ("0" + finalDate.getDate()).slice(-2);
// Or, if the browser supports toISOString:
var formattedDate = finalDate.toISOString().slice(0, 10);

注意:使用有意义的术语命名您的字段和变量。如果您致电finish_date 某个日期但实际上是一个数字,那么每个人都会感到困惑。