Javascript两个日期时间比较问题

时间:2014-05-02 16:25:59

标签: javascript jquery date datetime comparison

我想用javascript比较两个日期。实际上我的目标是获取警告消息,如果第一个日期比第二个日期更严格但javascript无法正常工作。我正在调试firefox游标转到else块,即使发生了条件。同时,类似的javascript代码在jsfiddle上正常工作。

http://jsfiddle.net/Mjora/ZNaMW/

Javascript代码

$("#btn").click(function(){
    var firstDate = $('#firstDate').val();
    var lastDate = $('#lastDate').val();

    if (firstDate > lastDate) {
        alert("First date can not be greater than Last date!!");
    }
    else{...} 
});

我也试过这些代码;

   $("#btn").click(function(){
        var firstDate = $('#firstDate').val();
        var lastDate = $('#lastDate').val();

        if (new Date(firstDate) > new Date(lastDate)) {
            alert("First date can not be greater than Last date!!");
        }
        else{...} 
    });

 /********/

var fDate="10.10.2020";
var lDate="10.10.2010";

var fDateSpl= fDate.Split(".");
var lDateSpl= lDate.Split(".");

var newFDate = new Date(fDateSpl[2], fDateSpl[1], fDateSpl[0]);
var newLDate = new Date(lDateSpl[2], lDateSpl[1], lDateSpl[0]);


if (newFDate > newLDate) {
    alert("First date can not be greater than Last date!!");
}
else{...} 

HTML

<input type="text" id="firstDate"/>
    <br/>
<input type="text" id="lastDate"/>
    <br/>
<input type="button" value="Send" id="btn"/>

2 个答案:

答案 0 :(得分:3)

  

使用Date.parse(firstDate)&gt; Date.parse(lastDate)

$("#btn").click(function(){
    var firstDate = $('#firstDate').val();
    var lastDate = $('#lastDate').val();
    if (Date.parse(firstDate) > Date.parse(lastDate)) {
        alert("First date can not be greater than Last date!!");
    } 
});

Fiddle Link

答案 1 :(得分:1)

您的第一次尝试if (firstDate > lastDate) {失败,因为它是字符串比较,而不是日期比较。

由于输入错误,你的另一次尝试失败了

var fDateSpl= fDate.Split(".");
var lDateSpl= lDate.Split(".");

应该是

var fDateSpl= fDate.split(".");
var lDateSpl= lDate.split(".");

更改它并显示警告