我想用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"/>
答案 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!!");
}
});
答案 1 :(得分:1)
您的第一次尝试if (firstDate > lastDate) {
失败,因为它是字符串比较,而不是日期比较。
由于输入错误,你的另一次尝试失败了
var fDateSpl= fDate.Split(".");
var lDateSpl= lDate.Split(".");
应该是
var fDateSpl= fDate.split(".");
var lDateSpl= lDate.split(".");
更改它并显示警告