下面的代码有什么问题?
也许只比较日期而不是时间会更简单。我也不知道该怎么做,我搜索了,但我找不到我的确切问题。
顺便说一句,当我在警报中显示两个日期时,它们显示的完全相同。
我的代码:
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);
}
});
有没有更简单的方法来比较日期而不包括时间?
原文由 moleculezz 发布,翻译遵循 CC BY-SA 4.0 许可协议
我仍在学习 JavaScript,而我发现在没有时间的情况下比较两个日期的唯一方法是使用 Date 对象的
setHours
方法并将小时、分钟、秒和毫秒设置为零。然后比较两个日期。例如,
date2
将设置小时、分钟、秒和毫秒为零,但 date1 会将它们设置为创建 date1 的时间。要摆脱 date1 上的小时、分钟、秒和毫秒,请执行以下操作:现在您可以仅将两个日期作为 DATES 进行比较,而无需担心时间元素。