计算中间日期

时间:2014-02-06 12:33:51

标签: javascript date

我想在Javascript中计算两个日期之间的中间位置。所以我试过了:

var middate = (startdate+enddate)/2;
console.log(middate);

记录

NaN

有什么问题?

2 个答案:

答案 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);