2011-11-02 7 views
1

Je dois soustraire deux valeurs de 24 heures de 0 à 23 en utilisant JQuery.Différence de temps dans JQuery

par exemple. , 1:00-3:00 devrait retourner 22:00 heures

mais ma fonction cela ne fonctionne pas

function TimeDiff() 
{ 
    var start=$('#fTime').val();  
    var end = '03:00'; 
    var diff=(start-end+24)%24; 
    $('#bReg').val(diff); 
} 

Est-ce que je dois faire une sorte de conversion pour objet temps ou ...?

Des idées? ^..^

+2

A 'CHAINE' ne pas comme par magie devenir un' Date' objet: P – alex

+0

Vous devez soit créer 'Date's réelle ou convertir les heures/minutes pour les chiffres et faire le calcul manuellement. –

+0

Y a-t-il un objet Time? –

Répondre

0
var diff = 
    new Date('01/01/2009 ' + $('#fTime').val()) - 
    new Date('01/01/2009 ' + "03:00 PM"); 

var hours=(diff/1000)+"";//just to make it a string 

utilisation hours+":00" pour les sorties comme heures « 22:00 » , trouver aussi le format de l'heure devrait avoir un AM/PM

+0

quand j'entre 23:00 il me donne le code 28:80 '\t \t fonction tIMEDIFF() \t \t \t { \t \t \t \t var start = $ ('# fHeure') val(). \t \t \t \t \t \t var diff = new Date ('01/01/2009 '+ $ (' # fHeure ') val().) - new Date ('01/01/2009' + « 03:00 PM "); \t \t \t \t \t \t \t heures var = (diff/1000) + ""; \t \t \t \t var mins = (diff/1000/60) + ""; \t \t \t \t \t \t \t \t var = diff_time heures + ":" + mn; \t \t \t \t \t \t \t \t \t \t \t \t $ ('# Breg') val (de diff_time). \t \t \t \t} ' –