我正在尝试计算两个日期之间的日子,但只是继续“NaN。我看过其他帖子但是不能很好地解决这个问题:-S
function checkdate() {
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
var datenow = (day + "/" + month + "/" + year)
var startdate = document.forms[0].datescopestart.value;
var sDate = new Date(Date.parse("startdate","dd/mm/yy"));
var totaldays = Date.datenow - Date.sDate;
alert(totaldays);
}
答案 0 :(得分:3)
这是我现在在我的图书馆里工作了一段时间的功能,效果很好。
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)
}
答案 1 :(得分:1)
删除startdate
调用中Date.parse
周围的引号。并且计算中变量名前面的Date.
。
答案 2 :(得分:0)
最简单的方法如下:
var days = Math.floor(enddate.getTime()-startdate.getTime())/(24*60*60*1000);
startdate
和enddate
是有效的Date对象。