Comparing time with converted time format

I have 2 times. Now I want to compare these 2 times, which refer to the same date. I want to check which time is longer. How can I do it. This is my code:

start_time = 10:30 AM
end_time = 12:30 PM

function modify_time(){
    var start_time = $('#start_time').val();
    var end_time = $('#end_time').val();
    if (start_time != '' && end_time != '') { 
        alert(start_time); alert(end_time);
        if (end_time <= start_time) {
            alert('select valid time');
            $('#start_time').val('');
            $('#end_time').val('');
        }
    }
}

Thanks.

+4
source share
5 answers

Hope you are looking for the following logic:

var start_time = "10:30 AM";
var end_time = "10:20 AM";

start_time = start_time.toLowerCase(); 
end_time = end_time.toLowerCase(); 

function getMin(timeStrin)
{
  var isPM = false;
  if(timeStrin.indexOf("pm") > -1)
     isPM = true;
    
  timeStrin = timeStrin.replace("am","");
  timeStrin = timeStrin.replace("pm","");
  var timeArr =  timeStrin.split(":");
  var hr = parseInt(timeArr[0],10);
  var min = parseInt(timeArr[1],10);
  if(isPM && hr>=1 && hr != 12)
    hr = hr+12;
  
  return (hr*60 + min);
    
}


if (start_time != '' && end_time != '') { 
	
  start_time = getMin(start_time);
  end_time = getMin(end_time);
  alert(start_time); 
	alert(end_time);
	if (end_time <= start_time) {
		alert('select valid time');
	}
}
Run codeHide result
+2
source

Try this example.

//Set the extracted part of the time to variables. 
// If you dont have the second part then set it to 0.
var startHour = extractedStartHour;
var startMinute = extractedStartMinute;
var startSecond = extractedStartSecond;

var endHour = extractedEndHour;
var endMinute = extractedEndMinute;
var endSecond = extractedEndSecond;

//Create date object and set the time to that
var startTimeObject = new Date();
startTimeObject.setHours(startHour, startMinute, startSecond);

//Create date object and set the time to that
var endTimeObject = new Date(startTimeObject);
endTimeObject.setHours(endHour, endMinute, endSecond);

//Now we are ready to compare both the dates
if (startTimeObject > endTimeObject) {
    alert('End time should be after start time.');
} else {
    alert('Entries are perfect.');
}
0
source

var d=new Date("October 16, 1990 10:30 AM");
var starttime = d.getTime();

var d=new Date("October 16, 1990 12:30 PM");
var endtime = d.getTime();

if(start_time!='' && end_time!=''){ alert(start_time); alert(end_time);
                if(end_time<=start_time){
                    alert('select valid time');
                    $('#start_time').val('');
                    $('#end_time').val('');
                }
            }
0

PM. replace(/\D/g,'') .

var startTime = $('#start_time').val();
var endTime = $('#end_time').val();

var startTimeValue = parseInt(startTime.replace(/\D/g,''));
var endTimeValue = parseInt(endTime.replace(/\D/g,''));

startTimeValue += startTime.indexOf("PM") > -1 ? 1200 : 0;
endTimeValue += endTime.indexOf("PM") > -1 ? 1200 : 0;

alert(startTimeValue <= endTimeValue);
0

    function modify_time(){
                var start_time=$('#start_time').val();
                var end_time=$('#end_time').val();
                if(start_time!='' && end_time!=''){alert(start_time); alert(end_time);
 var s_time = start_time.split(":");
var e_time = start_time.split(":");
                   if( s_time[0] > e_time[0]){
                     alert('select valid time');
                        $('#start_time').val('');
                        $('#end_time').val('');
                    }else if(s_time[0] == e_time[0]){
                        if(s_time[1] >=e_time[1]){
                       alert('select valid time');
                        $('#start_time').val('');
                        $('#end_time').val('');
                        }
                    }

                }
            }
0

Source: https://habr.com/ru/post/1623249/


All Articles