Comment calculer la date de différence en javascript
Je veux calculer la date de différence en jours, heures, minutes, secondes, millisecondes, des nanosecondes, comment puis-je le faire? S'il vous plaît suggérer.
- double possible de Obtenir la différence entre 2 dates en javascript?
- Les solutions ci-dessous se cassent si les deux dates sont impliqués dans les différents fuseaux horaires. Voir la question pour une solution plus précise, stackoverflow.com/questions/3224834/...?
- Double Possible de Comment puis-je obtenir le nombre de jours entre deux dates en JavaScript?
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez deux
Date
de l'objets, vous pouvez juste soustraire pour obtenir la différence en millisecondes:À partir de là, vous pouvez utiliser l'arithmétique simple de dériver les autres valeurs.
Math.floor((date2 - date1) / (1000*60*60*24))
-- pour la différence dans n'importe quelle autre unité, réglez le dénominateur (la valeur de base est en ms).Code des échantillons de ici.
Une autre solution est de les convertir différence d'un nouvel objet Date et la date de l'an(diff à partir de 1970), le mois, le jour, etc.
Afin de différence est de "3 ans et 6 mois et 4 jours". Si vous voulez faire la différence dans un lisible par l'homme de style, qui peut vous aider.
Des Expressions comme "différence en jours" ne sont jamais aussi simples qu'elles le paraissent. Si vous avez l'une des dates suivantes:
la différence de temps est de 2 minutes, si le "la différence dans les jours à" être 1 ou 0? Des questions similaires se posent pour toute expression de la différence des mois, des années ou que ce soit depuis des années, les mois et les jours sont de longueurs différentes et à des moments différents (par exemple, le jour où l'heure d'été commence est de 1 heure plus court que d'habitude, et deux heures plus courte que le jour qu'elle se termine).
Ici est une fonction d'une différence dans les jours qui ignore le temps, c'est à dire pour les dates ci-dessus, il renvoie 1.
Cela peut être plus concis:
JS:
From 28.02.2000, 0:00:00 to 28.02.2001, 0:00:00 is 366 days.
366 jours!utilisation Moment.js pour tous vos JavaScript liées à la date de calcul en temps
Réponse à votre question est:
Les détails complets peuvent être trouvés ici
Avec momentjs c'est simple:
Désolé, mais à plat de la milliseconde de calcul n'est pas fiable
Merci pour toutes les réponses, mais quelques-unes des fonctions que j'ai essayé sont défaillants, soit sur
1. Une date proche de la date d'aujourd'hui
2. Une date en 1970 ou
3. Un jour dans une année bissextile.
Approche le mieux fonctionné pour moi et couvre toutes scénario par exemple, année bissextile, près de la date en 1970, 29 février etc.
Si vous utilisez moment.js ensuite, il est assez simple de trouver la date de différence.
C'est comment vous pouvez mettre en œuvre différence entre les dates sans cadre.