2014-02-06 376 views
0

我想計算Javascript中兩個日期之間的中間值。所以,我想:計算中間日期

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

它記錄

NaN 

問題是什麼?

+0

哪裏開始日期和結束日期?你在哪裏宣佈過?向我們展示其餘的代碼 – laaposto

+0

'startdate + enddate'會給你一個字符串 – yashhy

+0

不能像這樣處理日期對象,所以如果你想要中間日期計算兩天之間的差異,然後除以2,並添加數字開始日期 –

回答

6

「兩個日期的中間」沒有明確定義 - 您必須決定如何處理相隔天數的日期,以及如何處理日期對象的時間部分。

您的方法的具體問題是日期不是數字,所以您不能添加它們並將它們除以二。要做到這一點,使用getTime()方法來獲得,因爲時代的秒數,以及對操作:

var middate = new Date((startdate.getTime() + enddate.getTime())/2); 

這會給你中間的兩個日期之間,處理它們作爲時間點。

3

嘗試這樣:

date1 = new Date("Feb 10 2014") 
date2 = new Date("Feb 12 2014") 
middle = new Date(date2 - (date2-date1)/2); 
console.log(middle);