我想在Javascript中计算两个日期之间的中间位置。所以我试过了:
var middate = (startdate+enddate)/2;
console.log(middate);
记录
NaN
有什么问题?
答案 0 :(得分:8)
“两个日期中间”没有明确定义 - 您必须决定如何处理相隔奇数天的日期(例如,1月1日到4日之间,或者1日到2日之间的中间日期),以及如何处理日期对象的时间部分。
您的方法的具体问题是日期不是数字,因此您无法添加它们并将它们除以2。要做到这一点,使用getTime()
方法获取自纪元以来的秒数,并对其进行操作:
var middate = new Date((startdate.getTime() + enddate.getTime()) / 2);
这将为您提供两个日期之间的中间位置,将它们视为时间点。
答案 1 :(得分:4)
尝试这样的事情:
date1 = new Date("Feb 10 2014")
date2 = new Date("Feb 12 2014")
middle = new Date(date2 - (date2-date1)/2);
console.log(middle);