2016-01-07 24 views
4

我有2個不同的時間。現在我想比較這兩個相同的日期。我想檢查哪個更好。我怎樣才能做到這一點。這是我的代碼:從轉換時間格式比較時間

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(''); 
     } 
    } 
} 

謝謝。

+0

http://stackoverflow.com/a/6148942/4015178 –

+1

我假設'start_time'和'end_time'變量是字符串,對不對? –

回答

2

我希望你也在尋找這樣的邏輯:

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 != '') { 
 
\t 
 
    start_time = getMin(start_time); 
 
    end_time = getMin(end_time); 
 
    alert(start_time); 
 
\t alert(end_time); 
 
\t if (end_time <= start_time) { 
 
\t \t alert('select valid time'); 
 
\t } 
 
}

+0

它工作正常..非常感謝你 –

+0

@HimanshuUpadhyay - 歡迎...':)'! – vijayP

+0

你爲什麼不接受這個答案@HimanshuUpadhyay? –

0

嘗試這個例子..

//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

添加相同的靜態日期在兩個時間前,使用下面的編碼

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

爲了簡單起見,只轉換爲數字,並添加偏移下午。 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(''); 
         } 
        } 

       } 
      }