可能重複:
How to calculate the number of days between two dates using javascript如何計算javascript中兩個日期之間的天數?
我有那些日期:
27/09/2011
29/10/2011
,我想天返回(在本例中的日期之間,應是33天)。
我該怎麼做的JavaScript(或jQuery?)?
可能重複:
How to calculate the number of days between two dates using javascript如何計算javascript中兩個日期之間的天數?
我有那些日期:
27/09/2011
29/10/2011
,我想天返回(在本例中的日期之間,應是33天)。
我該怎麼做的JavaScript(或jQuery?)?
function days_between(date1, date2) {
// The number of milliseconds in one day
var ONE_DAY = 1000 * 60 * 60 * 24
// Convert both dates to milliseconds
var date1_ms = date1.getTime()
var date2_ms = date2.getTime()
// Calculate the difference in milliseconds
var difference_ms = Math.abs(date1_ms - date2_ms)
// Convert back to days and return
return Math.round(difference_ms/ONE_DAY)
}
這個鏈接已經死了,所以我的答案不再提供 – user918967
鏈接仍然適用於我,在鏈接中添加了代碼,因爲鏈接只有答案很爛。 – BNL
var daysBetween = (Date.parse(DATE1) - Date.parse(DATE2))/(24 * 3600 * 1000);
它應該失敗:如果日期是IT而不是EN,則值不同:O – markzzz
我剛剛展示瞭如何做到這一點 –
// split the date into days, months, years array
var x = "27/09/2011".split('/')
var y = "29/10/2011".split('/')
// create date objects using year, month, day
var a = new Date(x[2],x[1],x[0])
var b = new Date(y[2],y[1],y[0])
// calculate difference between dayes
var c = (b - a)
// convert from milliseconds to days
// multiply milliseconds * seconds * minutes * hours
var d = c/(1000 * 60 * 60 * 24)
// show what you got
alert(d)
注: 我覺得這個方法比Date.parse()
安全爲您明確指定的日期格式是輸入(通過拆分到年,月,日的開始) 。這對於避免模糊不清是很重要的,因爲03/04/2008
可能是3rd of April, 2008
或4th of March, 2008
,具體取決於您的日期來自哪個國家/地區。
[非法](http://dictionary.merriam-webster.com/dictionary/illicit)?我認爲你的意思是[明確](http://dictionary.merriam-webster.com/dictionary/explicit)。 –
是的 - 我的意思是明確的 - 你說得很對 –
不要認爲它是在重複問題中提到的,但您可以查看http://www.datejs.com/ –