Il semble y avoir une différence significative dans la quantité de millisecondes que j'obtiens en comparant les résultats de Date.parse ()
et moment (). unix ()
. Je ne sais pas ce qui me manque car .parse ()
et .unix ()
sont censés renvoyer la chaîne date / heure en millisecondes.
Exemple :
const endDate = '2019-05-29 17:00:00'; console.log("Moment: ", moment(endDate).unix()); // 1559142000 console.log("Parse: ", Date.parse(new Date(endDate))); // 1559142000000
3 Réponses :
moment (endDate) .unix ()
renvoie l'heure unix, en secondes depuis le 1er janvier 1970.
Date.parse (new Date (endDate))
renvoie des millisecondes depuis le 1er janvier 1970, soit 1000 fois l'heure UNIX. Date.parse (new Date (endDate)) / 1000
est l'heure Unix
JavaScript utilise les millisecondes comme unité de mesure, alors que l'heure Unix est en seconde
consultez getTime a > méthode le Date
Malheureusement, je pense que .getTime ()
a un support de navigateur irrégulier et même avec babel, j'ai des problèmes dans Safari.
"C'est le nombre de secondes qui se sont écoulées depuis 00:00:00 jeudi 1er janvier 1970, 2 Temps universel coordonné (UTC)". wikipedia
Le montant renvoyé par la fonction unix ()
de moment correspond aux secondes écoulées depuis.
Date.parse ()
renvoie le nombre de millisecondes depuis le 1er janvier 1970 à 00:00:00 UTC. MDN
ils prendraient un temps différent pour s'exécuter, il n'y a aucun moyen de les exécuter exactement au même moment ... dans votre code Date.Parse () s'exécute après que moment.unix () est déjà fait ...
Date.parse (new Date (endDate)))
nécessite d'analyser la date deux fois.Date.parse (endDate))
donnera des résultats identiques et analysera une fois. Safari renverraNaN
.