Je crois que la différence est causée par Date.parse
ajout de l'UTC à une chaîne mais pas les autres, à savoir: /
n'est pas un séparateur de Date.parse (), ce qui signifie que l'heure UTC n'est pas ajoutée au temps, une fois qu'il est analysé. Parce qu' '
est un séparateur, il est analysé et puis UTC est ajouté à l'heure renvoyée.
Date.parse
est utilisé par l' new Date()
méthode et de sa mise en œuvre est spécifique de navigateur, je suis surpris de voir ce genre de chose ne vient pas plus souvent.
Le cahier des charges pour Date.parse
dit:
La Chaîne peut être interprétée comme une, heure locale, l'heure UTC, ou une heure dans un autre fuseau horaire, selon le contenu de la Chaîne. La fonction première tente d'analyser le format de la Chaîne selon les règles qui s'appelle dans Date Heure Format de Chaîne de caractères (15.9.1.15). Si la Chaîne n'est pas conforme à ce format, la fonction peut tomber à n'importe quel spécifiques à l'implémentation de l'heuristique ou la mise en œuvre spécifique de formats de date.
Donc, je vous conseille d'ajouter dans un fuseau horaire manuellement avant d'analyser, ou de rejet, le temps retourné en new Date()
, cependant, qui peut entraîner des problèmes autour de minuit, etc. La chose la plus sûre serait de voir si vous pouvez obtenir la date dans un plus format spécifique à partir des deux systèmes, avec les informations de fuseau horaire.