Я tring, чтобы сравнить две даты с 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"/>
Используйте Date.parse(firstDate)> 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!!");
}
});
Ваша первая попытка, if (firstDate > lastDate) {
сбой, потому что это сравнение строк, а не сравнение дат.
И ваша другая попытка потерпела неудачу из-за опечатки
var fDateSpl= fDate.Split(".");
var lDateSpl= lDate.Split(".");
должно быть
var fDateSpl= fDate.split(".");
var lDateSpl= lDate.split(".");
измените это, и у вас появится предупреждение
if (firstDate > lastDate) {
не даты ...newFDate.getTime() > new LDate.getTime()
?