javascript - JavaScript 中的日期比较失败

标签 javascript

我正在比较 2 个日期

1) 2013-12-18

2) 2013-12-4

我的代码认为 2013-12-4 大于 2013-12-18。

这是我的代码演示:http://jsfiddle.net/tdVGL/

这是我的 JavaScript 代码:

var date = new Date();
var getFromDate = 
    parseInt(date.getFullYear()) + '-' + 
    parseInt(date.getMonth() + 1) + '-' + 
    parseInt(date.getDate() - 14);
var newDate = new Date();
var newD = parseInt(newDate.getDate());
var newM = parseInt(newDate.getMonth() + 1);
var newY = parseInt(newDate.getFullYear());
var myDate = parseInt(newY) + '-' + parseInt(newM) + '-' + parseInt(newD);
alert(getFromDate);
alert(myDate);
if (getFromDate < myDate) {
    alert("Sorry! You cannot add event on past dates.");
    return false;
} else {
    alert("This is the right day");
}

最佳答案

您比较的不是日期比较。这些值被视为字符串。看看这个对比。您需要将它们转换为有效的 Date 对象以进行正确的日期比较。

if (new Date(getFromDate) < new Date(myDate)) {
   alert("Sorry! You cannot add event on past dates.");
   return false;
}
else {
   alert("This is the right day");
}

Js Fiddle Demo

关于javascript - JavaScript 中的日期比较失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20651949/

相关文章:

c# - 向 breeze-saving-server 函数发送附加参数

javascript - 得墨忒耳法则/涉及事件时的单一责任

javascript - 为每个元素运行多次的 JQuery 函数

javascript - JWPlayer 7 错误设置功能不工作

javascript - 在 Cucumber 场景示例中使用相同的页面

javascript - 通过在搜索表单中输入 div 名称/标题来显示隐藏的 div?

JavaScript 表示对象内部已定义的变量未定义

javascript - JSON - 如何将普通格式转换为json格式?

javascript - 查找数组中最近的日期

javascript - 完全加载后使用 .load 查看 php 远程文件