Comment puis-je calculer le décalage horaire dans JScript entre deux fois en millisecondes ou en secondes?JScript: Comment calculer la différence entre deux dates-heures?
Par exemple, entre 2010-04-23 15:03 et 00:41 2010-05-30
Comment puis-je calculer le décalage horaire dans JScript entre deux fois en millisecondes ou en secondes?JScript: Comment calculer la différence entre deux dates-heures?
Par exemple, entre 2010-04-23 15:03 et 00:41 2010-05-30
D'abord, vous devez analyser les chaînes pour obtenir des objets de date, j'utilise généralement une fonction comme suit, pour extraire les parties de date, et utilisez le constructeur Date
:
function parseDate(input) {
var parts = input.match(/(\d+)/g);
// new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]])
return new Date(parts[0], parts[1]-1, parts[2], // months are 0-based
parts[3], parts[4]);
}
var diff = parseDate("2010-05-30 00:41") - parseDate("2010-04-23 15:03");
// 3145080000 milliseconds
Vérifiez la bibliothèque JS DateTime sur CodePlex. Il vous permet de gérer DateTimes de la même manière que .NET (bien avec certaines restrictions bien sûr).
var d1 = new Date(2010,3,23,15,3);
var d2 = new Date(2010,4,30,0,41);
var delta = Math.abs(d1 - d2);
La réponse sera en millisecondes.
Cela devrait être 'nouvelle date (2010,3,23,15,3) ». Le mois doit être '- 1' (Jan = 0, Fév = 1, etc.) et vous devriez éviter un zéro non significatif sauf si vous utilisez des nombres basés sur l'octal. Dito pour la deuxième 'Date'. – RoToRa
@RoToRa: Oui, merci. Je viens juste de lier les traits d'union, les espaces et les deux-points hors de ses dates sans regarder les valeurs elles-mêmes. Edité pour refléter cela. – Robusto
Pas besoin de 'valueOf' s. –