好吧,我有这个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
非常感谢任何帮助。
谢谢。
答案 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
某个日期但实际上是一个数字,那么每个人都会感到困惑。