2014-04-15 14 views
6

Questo è il mio codice jQuery. In questo codice #StartTime e #EndTime è presente l'ID del tag di input.Confronto di due variabili temporali con jquery

Il formato dell'ora di ricezione è 00:00 AM/PM.

Il var starttimeval e endtimeval contengono i valori di inizio e fine.

Come faccio a confrontare questi due volte, ad esempio: if(starttimeval < endtimeval){alert(message);}

$(function() { 
    $('#StartTime').datetimepicker({ 
     datepicker : false, 
     format : 'g:i A' 
    }); 
    $('#EndTime').datetimepicker({ 
     datepicker : false, 
     format : 'g:i A' 

    }); 
    var starttimeval= $("#StartTime").val(); 
    var endtimeval= $("#EndTime").val(); 

     }); 

this is my form image.its show the time selection using datetimepicker plugin.

Voglio solo il tempo confrontare la funzionalità. Esempio valore ottenendo di starttimeval = 8: 00 PM e endtimeval = 9: 00 AM

+0

Che aspetto hanno 'starttimeval' e' endtimeval'? – tadman

+0

@tadman 'Il formato dell'ora di ricezione è 00:00 AM/PM. – MaiKaY

+0

Voglio dire cosa ottieni come valori effettivi, non come sono * in teoria *. Il tempo di 12 ore non può essere confrontato direttamente. Avere due esempi specifici aiuterebbe a farlo correttamente, in quanto non richiederebbe l'installazione del selezionatore di date per testarlo. – tadman

risposta

0

Prova questo:

var start=$("#StartTime").val(); 
    var starttimeval= start.split("/"); 
    var startdt= new Date(starttimeval[2], starttimeval[1] - 1, starttimeval[0],starttimeval[3],starttimeval[4]); 

    var end=$("#StartTime").val(); 
    var endtimeval= end.split("/"); 
    var enddt= new Date(endtimeval[2], endtimeval[1] - 1, endtimeval[0],endtimeval[3],endtimeval[4]); 

    if (startdt< enddt) { 
    alert("startdt is before current date"); 
    }else{ 
    alert("startdtis after current date"); 
    } 
2

Beh, avete provato qualcosa di simile:

var dateBegin = $('StartTime').datepicker('getDate').getTime(): 
var dateEnd = $('EndTime').datepicker('getDate').getTime(); 
if (dateBegin == dateEnd) 
    // some stuff 

Visto nel doc. (suppongo che si sta utilizzando datetimepicker da jQuery UI)

+0

è lavoro ma voglio che il tempo di confronto non sia la data. – nmkkannan

0

valori spostarsi da una forma sta per tornare stringhe, migliore per convertire/analizzare lo stringhe in javascript Date objects e confrontare che

var starttime = new Date("April 14, 2014 11:00 PM"); 
var endtime = new Date("April 15, 2014 1:00 AM"); 

FIDDLE

Ogni volta che si inizia a confrontarsi con i confronti di data/ora e il primo pensiero è di iniziare l'analisi delle stringhe e aggiungere le condizioni if per verificare i vari condizioni come la mezzanotte ... smettila, fermati.

Lavorare con le date e gli orari è meglio lasciarlo al codice stabilito, non c'è bisogno di reinventare la ruota.