Reputation: 655
When i try to compare end time not greater start time It return every time display NaN.
jQuery.validator.addMethod("checkTime", function(value, element, options) {
var start_times = options.val(); #15:00
var end_times = value; #14:00
var dtStart = new Date("1/1/2001 " + start_times);
var dtEnd = new Date("1/1/2001 " + end_times);
var difference_in_milliseconds = dtEnd - dtStart;
console.log(difference_in_milliseconds);
return difference_in_milliseconds > 0;
}, "End time should be grater than start time.");
Upvotes: 0
Views: 232
Reputation: 407
You can extract hours, minutes and seconds from start_times and end_times firstly. And then make the changes in function as below:
jQuery.validator.addMethod("checkTime", function(value, element, options) {
var start_times = options.val();
var end_times = value;
var dtStart = new Date("1/1/2001");
dtStart.setHours('//Hours extracted from given start_times');
dtStart.setMinutes('//Minutes extracted from given start_times');
dtStart.setSeconds('//Seconds extracted from given start_times');
var dtEnd = new Date("1/1/2001");
dtEnd.setHours('//Hours extracted from given end_times ');
dtEnd.setMinutes('//Minutes extracted from given end_times ');
dtEnd.setSeconds('//Seconds extracted from given end_times ');
var difference_in_milliseconds = dtEnd.getTime() - dtStart.getTime();
console.log(difference_in_milliseconds);
return difference_in_milliseconds > 0;
}, "End time should be grater than start time.");
The remaining things I kept as it is.
You can try this solution, Maybe it will work for you
Upvotes: 1
Reputation: 6501
Maybe I am missing something (never used clockpicker, I suspect what you are adding is a number) but if you do:
(new Date("1/1/2001 "+67)) - (new Date("1/1/2001 "+767))
You get NaN. Wouldn't it be better to use:
var dtStart = Date.now() + start_times;
var dtEnd = Date.now() + end_times;
instead?
Upvotes: 1