Может кто-нибудь предложить способ сравнения значений двух дат больше, меньше, а не в прошлом с использованием JavaScript? Значения будут поступать из текстовых полей.
Объект Date будет делать то, что вы хотите - построить по одному для каждой даты, а затем сравнить их с помощью >
, <
, <=
или >=
.
Операторы ==
, !=
, ===
и !==
требуют, чтобы вы использовали date.getTime()
, как в
var d1 = new Date();
var d2 = new Date(d1);
var same = d1.getTime() === d2.getTime();
var notSame = d1.getTime() !== d2.getTime();
чтобы быть понятным, просто проверка равенства непосредственно с объектами данных не будет работать
var d1 = new Date();
var d2 = new Date(d1);
console.log(d1 == d2); // prints false (wrong!)
console.log(d1 === d2); // prints false (wrong!)
console.log(d1 != d2); // prints true (wrong!)
console.log(d1 !== d2); // prints true (wrong!)
console.log(d1.getTime() === d2.getTime()); // prints true (correct)
Я предлагаю вам использовать выпадающие списки или некоторую подобную ограниченную форму ввода даты, а не текстовые поля, тем не менее, чтобы вы не попали в адвентизацию ввода.
Самый простой способ сравнить даты в javascript - сначала преобразовать его в объект Date, а затем сравнить эти объекты даты.
Ниже вы найдете объект с тремя функциями:
dates.compare(а, б)
Возвращает число:
date.inRange (d, начало, конец)
Возвращает логическое значение или NaN:
dates.convert
Используется другими функциями для преобразования их ввода в объект даты. Вход может быть
.
// Source: http://stackoverflow.com/questions/497790
var dates = {
convert:function(d) {
// Converts the date in d to a date-object. The input can be:
// a date object: returned without modification
// an array : Interpreted as [year,month,day]. NOTE: month is 0-11.
// a number : Interpreted as number of milliseconds
// since 1 Jan 1970 (a timestamp)
// a string : Any format supported by the javascript engine, like
// "YYYY/MM/DD", "MM/DD/YYYY", "Jan 31 2009" etc.
// an object : Interpreted as an object with year, month and date
// attributes. **NOTE** month is 0-11.
return (
d.constructor === Date ? d :
d.constructor === Array ? new Date(d[0],d[1],d[2]) :
d.constructor === Number ? new Date(d) :
d.constructor === String ? new Date(d) :
typeof d === "object" ? new Date(d.year,d.month,d.date) :
NaN
);
},
compare:function(a,b) {
// Compare two dates (could be of any type supported by the convert
// function above) and returns:
// -1 : if a < b
// 0 : if a = b
// 1 : if a > b
// NaN : if a or b is an illegal date
// NOTE: The code inside isFinite does an assignment (=).
return (
isFinite(a=this.convert(a).valueOf()) &&
isFinite(b=this.convert(b).valueOf()) ?
(a>b)-(a<b) :
NaN
);
},
inRange:function(d,start,end) {
// Checks if date in d is between dates in start and end.
// Returns a boolean or NaN:
// true : if d is between start and end (inclusive)
// false : if d is before start or after end
// NaN : if one or more of the dates is illegal.
// NOTE: The code inside isFinite does an assignment (=).
return (
isFinite(d=this.convert(d).valueOf()) &&
isFinite(start=this.convert(start).valueOf()) &&
isFinite(end=this.convert(end).valueOf()) ?
start <= d && d <= end :
NaN
);
}
}
(a > b) - (a < b)
полезно для сортировки массива дат
Array.prototype.sort
если все значения являются действительными датами. Если могут быть недопустимые даты, я рекомендую использовать что-то вроде function ( a, b ) { a = a === undefined || a === null : NaN : a.valueOf( a ); b = a === undefined || b === null : NaN : a.valueOf( b ); return isFinite( a ) && isFinite( b ) ? ( a > b ) - ( a < b ) : NaN; }
Сравните <
и >
как обычно, но все, что связано с =
, должно использовать префикс +
. Например:
var x = new Date('2013-05-23');
var y = new Date('2013-05-23');
// less than, greater than is fine:
x < y; => false
x > y; => false
x === y; => false, oops!
// anything involving '=' should use the '+' prefix
// it will then compare the dates' millisecond values
+x <= +y; => true
+x >= +y; => true
+x === +y; => true
Надеюсь, это поможет!
x.getTime() === y.getTime()
, как читаемый, так и очень быстрый, см. jsperf
+
пытается преобразовать выражение в число. Date.valueOf()
используется для преобразования (которое возвращает то же самое, что Date.getTime()
.
Реляционные операторы <
<=
>
>=
могут использоваться для сравнения дат JavaScript:
var d1 = new Date(2013, 0, 1);
var d2 = new Date(2013, 0, 2);
d1 < d2; // true
d1 <= d2; // true
d1 > d2; // false
d1 >= d2; // false
Однако операторы равенства ==
!=
===
!==
не могут использоваться для сравнения (значения) дат потому что:
- Два разных объекта никогда не равны ни для строгих, ни для абстрактных сравнений.
- Эксперимент, сравнивающий объекты, имеет значение true, только если операнды ссылаются на один и тот же объект.
Вы можете сравнить значение дат равенства с помощью любого из этих методов:
var d1 = new Date(2013, 0, 1);
var d2 = new Date(2013, 0, 1);
/*
* note: d1 == d2 returns false as described above
*/
d1.getTime() == d2.getTime(); // true
d1.valueOf() == d2.valueOf(); // true
Number(d1) == Number(d2); // true
+d1 == +d2; // true
Оба Date.getTime()
и Date.valueOf()
возвращают число миллисекунд с 1 января 1970 года, 00:00 по UTC. Обе функции Number
и унарный оператор +
вызывают методы valueOf()
за кулисами.
Безусловно, самый простой способ - вычесть одну дату из другой и сравнить результат.
var oDateOne = new Date();
var oDateTwo = new Date();
alert(oDateOne - oDateTwo === 0);
alert(oDateOne - oDateTwo < 0);
alert(oDateOne - oDateTwo > 0);
Сравнение дат в JavaScript довольно просто... JavaScript имеет встроенную систему сравнения для дат, которая позволяет легко сравнивать.
Просто выполните следующие шаги для сравнения двух значений даты, например, у вас есть 2 входа, каждый из которых имеет значение Date в String
и вы можете сравнить их...
1. У вас есть 2 строковых значения, которые вы получаете от ввода, и вы хотели бы их сравнить, они приведены ниже:
var date1 = '01/12/2018';
var date2 = '12/12/2018';
2. Они должны быть Date Object
которые будут сравниваться как значения даты, поэтому просто преобразуйте их на дату, используя new Date()
, я просто повторно назначаю их для простоты объяснений, но вы можете сделать это в любом случае:
date1 = new Date(date1);
date2 = new Date(date2);
3. Теперь просто сравнить их, используя >
<
>=
<=
date1 > date2; //false
date1 < date2; //true
date1 >= date2; //false
date1 <= date2; //true
Сравнить только день (без учета компонента времени):
Date.prototype.sameDay = function(d) {
return this.getFullYear() === d.getFullYear()
&& this.getDate() === d.getDate()
&& this.getMonth() === d.getMonth();
}
Использование:
if(date1.sameDay(date2)) {
// highlight day on calendar or something else clever
}
какой формат?
Если вы создаете Javascript объект Date, вы можете просто вычесть их для получения разницы в миллисекундах (отредактируйте или просто сравните их):
js>t1 = new Date()
Thu Jan 29 2009 14:19:28 GMT-0500 (Eastern Standard Time)
js>t2 = new Date()
Thu Jan 29 2009 14:19:31 GMT-0500 (Eastern Standard Time)
js>t2-t1
2672
js>t3 = new Date('2009 Jan 1')
Thu Jan 01 2009 00:00:00 GMT-0500 (Eastern Standard Time)
js>t1-t3
2470768442
js>t1>t3
true
==
упомянутой выше.
КОРОТКИЙ ОТВЕТ
Вот функция, возвращающая {boolean}, если от dateTime> до dateTime Demo в действии
var from = '08/19/2013 00:00'
var to = '08/12/2013 00:00 '
function isFromBiggerThanTo(dtmfrom, dtmto){
return new Date(dtmfrom).getTime() >= new Date(dtmto).getTime() ;
}
console.log(isFromBiggerThanTo(from, to)); //true
объяснение
var date_one = '2013-07-29 01:50:00',
date_two = '2013-07-29 02:50:00';
//getTime() returns the number of milliseconds since 01.01.1970.
var timeStamp_date_one = new Date(date_one).getTime() ; //1375077000000
console.log(typeof timeStamp_date_one);//number
var timeStamp_date_two = new Date(date_two).getTime() ;//1375080600000
console.log(typeof timeStamp_date_two);//number
поскольку теперь у вас есть как datetime в типе числа, вы можете сравнить их с любыми операциями сравнения
(>, <, =,! =, ==,! ==,> = AND <=)
затем
если вы знакомы с C#
Custom Date и Time Format String, эта библиотека должна делать то же самое и помогать вам форматировать дату и время dtmFRM независимо от того, проходите ли вы в строке времени даты или в формате unix
Применение
var myDateTime = new dtmFRM();
alert(myDateTime.ToString(1375077000000, "MM/dd/yyyy hh:mm:ss ampm"));
//07/29/2013 01:50:00 AM
alert(myDateTime.ToString(1375077000000,"the year is yyyy and the day is dddd"));
//this year is 2013 and the day is Monday
alert(myDateTime.ToString('1/21/2014', "this month is MMMM and the day is dd"));
//this month is january and the day is 21
все, что вам нужно сделать, это передать любой из этих форматов, умиротворенных в файле js
библиотеки
вы используете этот код,
var firstValue = "2012-05-12".split('-');
var secondValue = "2014-07-12".split('-');
var firstDate=new Date();
firstDate.setFullYear(firstValue[0],(firstValue[1] - 1 ),firstValue[2]);
var secondDate=new Date();
secondDate.setFullYear(secondValue[0],(secondValue[1] - 1 ),secondValue[2]);
if (firstDate > secondDate)
{
alert("First Date is greater than Second Date");
}
else
{
alert("Second Date is greater than First Date");
}
А также проверьте эту ссылку http://www.w3schools.com/js/js_obj_date.asp
function datesEqual(a, b)
{
return (!(a>b || b>a))
}
a
и b
являются объектами Date
вы также можете использовать return a*1 == b*1;
var date = new Date(); // will give you todays date.
// following calls, will let you set new dates.
setDate()
setFullYear()
setHours()
setMilliseconds()
setMinutes()
setMonth()
setSeconds()
setTime()
var yesterday = new Date();
yesterday.setDate(...date info here);
if(date>yesterday) // will compare dates
Чтобы добавить еще одну возможность для многих существующих опций, вы можете попробовать:
if (date1.valueOf()==date2.valueOf()) .....
... который, похоже, работает для меня. Конечно, вам нужно убедиться, что обе даты не undefined...
if ((date1?date1.valueOf():0)==(date2?date2.valueOf():0) .....
Таким образом, мы можем гарантировать, что будет выполнено положительное сравнение, если оба они также являются undefined или...
if ((date1?date1.valueOf():0)==(date2?date2.valueOf():-1) .....
... если вы предпочитаете, чтобы они не были равны.
Примечание - Сравнить только Дата:
Когда мы сравниваем две даты в javascript. Требуется также несколько часов, минут и секунд. Итак, если нам нужно только сравнить дату, это подход:
var date1= new Date("01/01/2014").setHours(0,0,0,0);
var date2= new Date("01/01/2014").setHours(0,0,0,0);
Теперь: if date1.valueOf()> date2.valueOf()
будет работать как шарм.
Через Moment.js
Jsfiddle: http://jsfiddle.net/guhokemk/1/
function compare(dateTimeA, dateTimeB) {
var momentA = moment(dateTimeA,"DD/MM/YYYY");
var momentB = moment(dateTimeB,"DD/MM/YYYY");
if (momentA > momentB) return 1;
else if (momentA < momentB) return -1;
else return 0;
}
alert(compare("11/07/2015", "10/07/2015"));
Метод возвращает 1, если dateTimeA
больше, чем dateTimeB
Метод возвращает 0, если dateTimeA
равно dateTimeB
Метод возвращает -1, если dateTimeA
меньше dateTimeB
Date
.
Чтобы сравнить две даты, мы можем использовать библиотеку JavaScript date.js, которую можно найти по адресу: https://code.google.com/archive/p/datejs/downloads
и используйте метод Date.compare( Date date1, Date date2 )
, и он возвращает число, что означает следующий результат:
-1 = date1 is lessthan date2.
0 = значения равны.
1 = дата1 больше, чем дата2.
Вычесть две даты, получить разницу в миллисекундах, если вы получите 0
в ту же дату
function areSameDate(d1, d2){
return d1 - d2 === 0
}
Скажите, что у вас есть объекты даты A и B, получите их значение времени EPOC, а затем вычтите, чтобы получить разницу в миллисекундах.
var diff = +A - +B;
Что все.
Чтобы создать даты из свободного текста в Javascript, вам нужно проанализировать его в объекте Date().
Вы можете использовать Date.parse(), который принимает попытки свободного текста, чтобы преобразовать его в новую дату, но если у вас есть контроль над страницей, я бы рекомендовал вместо этого использовать поле выбора HTML или выбрать дату, например, Управление календарем YUI или jQuery UI Datepicker.
Как только вы указали дату, которую указали другие люди, вы можете использовать простую арифметику, чтобы вычесть даты и преобразовать их обратно в несколько дней, разделив число (в секундах) на количество секунд в день (60 * 60 * 24 = 86400).
ОСТОРОЖНО ВРЕМЕНИ
В дате javascript нет понятия часового пояса. Это момент времени (тики с эпохи) с удобными функциями для перевода в строки и из строк в "локальном" часовом поясе. Если вы хотите работать с датами с использованием объектов даты, как это делают все, , вы хотите, чтобы ваши даты представляли собой полутонов UTC в начале указанной даты. Это обычное и необходимое соглашение, которое позволяет вы работаете с датами независимо от сезона или часового пояса их создания. Поэтому вам нужно быть очень бдительными, чтобы управлять понятием часового пояса, особенно когда вы создаете свой полуночный объект UTC Date.
В большинстве случаев вы хотите, чтобы ваша дата отражала часовой пояс пользователя. Нажмите, если сегодня ваш день рождения. Пользователи в Новой Зеландии и США щелкают одновременно и получают разные даты. В этом случае сделайте это...
// create a date (utc midnight) reflecting the value of myDate and the environment timezone offset.
new Date(Date.UTC(myDate.getFullYear(),myDate.getMonth(), myDate.getDate()));
Иногда международная сопоставимость превосходит локальную точность. В этом случае сделайте это...
// the date in London of a moment in time. Device timezone is ignored.
new Date(Date.UTC(myDate.getUTCYear(), myDate.getyUTCMonth(), myDate.getUTCDate()));
Теперь вы можете напрямую сравнивать свои объекты даты, как предлагают другие ответы.
Позаботившись о создании часового пояса при создании, вы также должны быть уверены, что оставите часовую зону при преобразовании обратно в строковое представление. Таким образом, вы можете безопасно использовать...
toISOString()
getUTCxxx()
getTime() //returns a number with no time or timezone.
.toLocaleDateString("fr",{timezone:"UTC"}) // whatever locale you want, but ALWAYS UTC.
И полностью избегайте всего остального, особенно...
getYear()
, getMonth()
, getDate()
var date_today=new Date();
var formated_date = formatDate(date_today);//Calling formatDate Function
var input_date="2015/04/22 11:12 AM";
var currentDateTime = new Date(Date.parse(formated_date));
var inputDateTime = new Date(Date.parse(input_date));
if (inputDateTime <= currentDateTime){
//Do something...
}
function formatDate(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
hours = hours < 10 ? '0'+hours : hours ;
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours+":"+minutes+ ' ' + ampm;
return date.getFullYear()+ "/" + ((date.getMonth()+1) < 10 ? "0"+(date.getMonth()+1) :
(date.getMonth()+1) ) + "/" + (date.getDate() < 10 ? "0"+date.getDate() :
date.getDate()) + " " + strTime;
}
Улучшенная версия кода, размещенная "некоторыми"
/* Compare the current date against another date.
*
* @param b {Date} the other date
* @returns -1 : if this < b
* 0 : if this === b
* 1 : if this > b
* NaN : if a or b is an illegal date
*/
Date.prototype.compare = function(b) {
if (b.constructor !== Date) {
throw "invalid_date";
}
return (isFinite(this.valueOf()) && isFinite(b.valueOf()) ?
(this>b)-(this<b) : NaN
);
};
использование:
var a = new Date(2011, 1-1, 1);
var b = new Date(2011, 1-1, 1);
var c = new Date(2011, 1-1, 31);
var d = new Date(2011, 1-1, 31);
assertEquals( 0, a.compare(b));
assertEquals( 0, b.compare(a));
assertEquals(-1, a.compare(c));
assertEquals( 1, c.compare(a));
Я обычно храню Dates
как timestamps(Number)
в базах данных.
Когда мне нужно сравнивать, я просто сравниваю эти временные метки или
преобразуйте его в объект Date, а затем при необходимости сравните с > <
.
Обратите внимание, что == или === не работает должным образом, если ваши переменные не являются ссылками того же объекта Date.
Сначала конвертируйте те объекты Date в метку времени (число), а затем сравните их равенство.
var timestamp_1970 = new Date(0).getTime(); // 1970-01-01 00:00:00
var timestamp = new Date().getTime(); // Current Timestamp
var timestamp = 0; // 1970-01-01 00:00:00
var DateObject = new Date(timestamp);
Если следующий формат даты, вы можете использовать этот код:
var first = '2012-11-21';
var second = '2012-11-03';
if(parseInt(first.replace(/-/g,""),10) > parseInt(second.replace(/-/g,""),10)){
//...
}
Он будет проверять, больше ли число 20121121
больше 20121103
или нет.
first == second
или first < second
или first > second
. Это одна из многих красот с ISO8601 по сравнению с ММ / ДД / ГГ, ДД / ММ / ГГ, ГГ / ДД / ММ, ДД / ГГ / ММ или ММ / ГГ / ДД.
Прежде чем сравнивать объект Dates
, попробуйте установить обе их миллисекунды на ноль, как Date.setMilliseconds(0);
.
В некоторых случаях, когда объект Date
динамически создается в javascript, если вы продолжаете печатать Date.getTime()
, вы увидите изменение миллисекунд, что предотвратит равенство обеих дат.
Другим способом сравнения двух дат является метод toISOString()
. Это особенно полезно при сравнении с фиксированной датой, хранящейся в строке, поскольку вы можете избежать создания недолговечного объекта. В силу формата ISO 8601 вы можете сравнить эти строки лексикографически (по крайней мере, когда вы используете один и тот же часовой пояс).
Я не обязательно говорю, что это лучше, чем использование временных объектов или временных меток; просто предлагая это как еще один вариант. Там могут быть случаи краев, когда это может потерпеть неудачу, но я еще не наткнулся на них:)
Привет Здесь мой код для сравнения дат. В моем случае я делаю чек, чтобы не выбирать выбранные даты.
var myPickupDate = <pick up date> ;
var isPastPickupDateSelected = false;
var currentDate = new Date();
if(currentDate.getFullYear() <= myPickupDate.getFullYear()){
if(currentDate.getMonth()+1 <= myPickupDate.getMonth()+1 || currentDate.getFullYear() < myPickupDate.getFullYear()){
if(currentDate.getDate() <= myPickupDate.getDate() || currentDate.getMonth()+1 < myPickupDate.getMonth()+1 || currentDate.getFullYear() < myPickupDate.getFullYear()){
isPastPickupDateSelected = false;
return;
}
}
}
console.log("cannot select past pickup date");
isPastPickupDateSelected = true;
Предположим, что вы имеете дело с этим форматом даты 2014[:-/.]06[:-/.]06
или этого 06[:-/.]06[:-/.]2014
, тогда вы можете сравнить даты таким образом
var a = '2014.06/07', b = '2014-06.07', c = '07-06/2014', d = '07/06.2014';
parseInt(a.replace(/[:\s\/\.-]/g, '')) == parseInt(b.replace(/[:\s\/\.-]/g, '')); // true
parseInt(c.replace(/[:\s\/\.-]/g, '')) == parseInt(d.replace(/[:\s\/\.-]/g, '')); // true
parseInt(a.replace(/[:\s\/\.-]/g, '')) < parseInt(b.replace(/[:\s\/\.-]/g, '')); // false
parseInt(c.replace(/[:\s\/\.-]/g, '')) > parseInt(d.replace(/[:\s\/\.-]/g, '')); // false
Как вы можете видеть, мы разделим разделители (разделители), а затем сравниваем целые числа.
Вот что я сделал в одном из моих проектов,
function CompareDate(tform){
var startDate = new Date(document.getElementById("START_DATE").value.substring(0,10));
var endDate = new Date(document.getElementById("END_DATE").value.substring(0,10));
if(tform.START_DATE.value!=""){
var estStartDate = tform.START_DATE.value;
//format for Oracle
tform.START_DATE.value = estStartDate + " 00:00:00";
}
if(tform.END_DATE.value!=""){
var estEndDate = tform.END_DATE.value;
//format for Oracle
tform.END_DATE.value = estEndDate + " 00:00:00";
}
if(endDate <= startDate){
alert("End date cannot be smaller than or equal to Start date, please review you selection.");
tform.START_DATE.value = document.getElementById("START_DATE").value.substring(0,10);
tform.END_DATE.value = document.getElementById("END_DATE").value.substring(0,10);
return false;
}
}
вызов этого на форме onsubmit. надеюсь, что это поможет.
var curDate=new Date();
var startDate=document.forms[0].m_strStartDate;
var endDate=document.forms[0].m_strEndDate;
var startDateVal=startDate.value.split('-');
var endDateVal=endDate.value.split('-');
var firstDate=new Date();
firstDate.setFullYear(startDateVal[2], (startDateVal[1] - 1), startDateVal[0]);
var secondDate=new Date();
secondDate.setFullYear(endDateVal[2], (endDateVal[1] - 1), endDateVal[0]);
if(firstDate > curDate) {
alert("Start date cannot be greater than current date!");
return false;
}
if (firstDate > secondDate) {
alert("Start date cannot be greater!");
return false;
}
from_date ='10-07-2012';
to_date = '05-05-2012';
var fromdate = from_date.split('-');
from_date = new Date();
from_date.setFullYear(fromdate[2],fromdate[1]-1,fromdate[0]);
var todate = to_date.split('-');
to_date = new Date();
to_date.setFullYear(todate[2],todate[1]-1,todate[0]);
if (from_date > to_date )
{
alert("Invalid Date Range!\nStart Date cannot be after End Date!")
return false;
}
Используйте этот код для сравнения даты с помощью javascript.
Спасибо D.Jeeva
Вы можете сравнивать дату, как наиболее простой и понятный способ.
<input type="date" id="getdate1" />
<input type="date" id="getdate2" />
предположим, что у вас есть два ввода даты, которые вы хотите сравнить с ними.
поэтому сначала напишите общий метод для синтаксического анализа даты.
<script type="text/javascript">
function parseDate(input) {
var datecomp= input.split('.'); //if date format 21.09.2017
var tparts=timecomp.split(':');//if time also giving
return new Date(dparts[2], dparts[1]-1, dparts[0], tparts[0], tparts[1]);
// here new date( year, month, date,)
}
</script>
parseDate() - это общий метод для разбора даты. теперь вы можете проверить свою дату =, > , < любой тип сравнения
<script type="text/javascript">
$(document).ready(function(){
//parseDate(pass in this method date);
Var Date1=parseDate($("#getdate1").val());
Var Date2=parseDate($("#getdate2").val());
//use any oe < or > or = as per ur requirment
if(Date1 = Date2){
return false; //or your code {}
}
});
</script>
Для этого этот код вам поможет.
попробуйте это в то время как дата сравнения должна быть iso format "yyyy-MM-dd" если вы хотите сравнить только даты, используйте этот параметр datehelper
<a href="https://plnkr.co/edit/9N8ZcC?p=preview"> Live Demo</a>
Попробуйте использовать этот код
var f =date1.split("/");
var t =date2.split("/");
var x =parseInt(f[2]+f[1]+f[0]);
var y =parseInt(t[2]+t[1]+t[0]);
if(x > y){
alert("date1 is after date2");
}
else if(x < y){
alert("date1 is before date2");
}
else{
alert("both date are same");
}
getMinutes
, getSeconds
и т. Д.
Сравнение дат:
var str1 = document.getElementById("Fromdate").value;
var str2 = document.getElementById("Todate").value;
var dt1 = parseInt(str1.substring(0,2),10);
var mon1 = parseInt(str1.substring(3,5),10);
var yr1 = parseInt(str1.substring(6,10),10);
var dt2 = parseInt(str2.substring(0,2),10);
var mon2 = parseInt(str2.substring(3,5),10);
var yr2 = parseInt(str2.substring(6,10),10);
var date1 = new Date(yr1, mon1, dt1);
var date2 = new Date(yr2, mon2, dt2);
if(date2 < date1)
{
alert("To date cannot be greater than from date");
return false;
}
else
{
alert("Submitting ...");
document.form1.submit();
}