Comment soustraire 2 fois avec moment.js, puis de soustraire quelques minutes
J'ai besoin de soustraire 2 fois avec moment.js (obtenez la différence), et puis avec ce résultat, les soustraire quelques minutes supplémentaires (simple int). C'est pour le calcul des feuilles de temps. Quelques exemples:
Example #1:
Start time: 10:00 AM (represented in js as "10:00")
End time: 2:00 PM (represented in js as "14:00")
Lunch: 30 minutes ("30")
Expected result: "3:30" (10am - 2pm is 4 hours, minus 30 minutes for lunch = 3hrs 30 mins -- and I need it output as "3:30")
Example #2:
Start time: 6:15 AM (represented in js as "6:15")
End time: 4:45 PM (represented in js as "16:45")
Lunch: 0 minutes ("0")
Expected result: "10:30"
Je sais moment.js peut le faire, mais j'ai du mal à obtenir les résultats attendus. J'ai essayé ceci:
function getTimeInterval(startTime, endTime){
return moment(moment(startTime,"hh:mm").diff(moment(endTime,"hh:mm"))).format("hh:mm");
}
La mise en forme me semble bon, mais j'obtiens des valeurs incorrectes. Par exemple, le résultat retourné pour mon exemple #2 est de "6:30" au lieu de "10:30" Et puis, comment puis-je soustraire off int minutes pour le déjeuner?
Toute aide est très appréciée.
OriginalL'auteur HerrimanCoder | 2015-12-13
Vous devez vous connecter pour publier un commentaire.
Attention le boîtier de l'formats. Vous avez été en utilisant
hh
d'une horloge de 12 heures.Voir aussi: Obtenir la différence de temps entre deux datetimes
OriginalL'auteur Matt Johnson
Vous pouvez utiliser le
diff
méthode pour calculer la différence entre deux dates et lasubtract
méthode pour réduire la durée. Dans votre cas:Vous avez raison, j'ai édité ma réponse pour le fixer. Le problème était lié à des minuscules
hh
au lieu deHH
dansformat
.et aussi, merci de passer des minutes en entier sinon il ne pourra pas se déduit
OriginalL'auteur VincenzoC