以下代码有什么问题?
也许只比较日期而不是时间会更简单。我也不确定如何执行此操作,因此我进行了搜索,但找不到确切的问题。
顺便说一句,当我在警报中显示两个日期时,它们显示为完全相同。
我的代码:
window.addEvent('domready', function() { var now = new Date(); var input = $('datum').getValue(); var dateArray = input.split('/'); var userMonth = parseInt(dateArray[1])-1; var userDate = new Date(); userDate.setFullYear(dateArray[2], userMonth, dateArray[0], now.getHours(), now.getMinutes(), now.getSeconds(), now.getMilliseconds()); if (userDate > now) { alert(now + '\n' + userDate); } });
有没有比较日期而不包含时间的简单方法?
我仍在学习JavaScript,而我发现唯一可以比较两个没有时间 setHours 的日期的方法是使用Date对象的方法,并将小时,分钟,秒和毫秒设置为零。然后比较两个日期。
setHours
例如,
date1 = new Date() date2 = new Date(2011,8,20)
date2会将小时,分钟,秒和毫秒设置为零,但date1会将其设置为创建date1的时间。要摆脱date1的小时,分钟,秒和毫秒,请执行以下操作:
date2
date1.setHours(0,0,0,0)
现在,您可以仅将两个日期作为“日期”进行比较,而不必担心时间元素。