2015-06-19 107 views
4

我一直在試圖計算兩個日期之間給出的代碼從StackOverflow中的一些問題的百分比,但代碼無法正常工作。 這是一個問題:Get the percent of time elapsed between two javascript dates計算在JavaScript中的兩個日期之間的百分比

var start = new Date(2015,6,1), 
end = new Date(2015,12,1), 
today = new Date(); 

alert(Math.round(((today - start)/(end - start)) * 100) + "%"); 

我要計算到12 1RST從6月1RST的進展,我得到「-7」

請幫幫忙!謝謝

+2

究竟是什麼百分比? –

+0

你可以很容易地得到兩個日期之間的差異,但是你想以什麼比例來看待這個差異? –

+0

他想知道當前日期在這段時間內有多遠。如果您使用不同的年份,代碼似乎工作正常。 – Speerian

回答

1

的Javascript計數個月,從0〜11月份爲0,十二月份爲11.您指定6月至12月,但進入6日和12日。

3

你的問題是,6號的月份是7月份,而不是6月份,所以你的答案是否定的。

3
var start = new Date(2015,6,1), 
end = new Date(2015,11,1), 
today = new Date(); 

//use Math.abs to avoid sign 
var q = Math.abs(today-start); 
var d = Math.abs(end-start); 
alert("Rounded: "+Math.round((q/d)*100) + "%"); 
alert("Fraction: "+((q/d)*100) + "%"); 

又看了雷特里回答6月未君

0

在這裏你去:

var start = new Date(2015,6,1), 
end = new Date(2015,12,1), 
today = new Date(); 

alert(Math.round(((end - start) * 100)/today) + '%'); 
+0

我已經在評論中提到了這一點,使用OP鏈接和聲明錯誤的答案中的代碼給出1%。雖然我們不確定這是他們想要的。 –

相關問題