In der neuesten Version (2.15.1) scheint parseZone () nicht richtig zu funktionieren, wenn Offset utc ist.
moment.parseZone ('2016-05-04T00: 00: 00Z'). format ()
=> "2016-05-04T08: 00: 00Z" schlecht
moment.parseZone ('2016-05-04T00: 00: 00 + 08: 00'). format ()
=> "2016-05-04T00: 00: 00 + 08: 00" gut
Die Methode war in 2.14.1 gut, ich habe kürzlich moment.js auf 2.15.1 aktualisiert und die neue Version hat meinen Testfall nicht bestanden.
Ja. Das ist falsch. Ich werde vielleicht sehen, ob ich das heute Abend nicht angehen kann. Ich glaube, ich weiß, wo es passiert ist.
Zu Ihrer Information, dieser Fehler wurde im Fix für # 3083, b2ee2d444282fcb90abfd43fe562253c73e14b08 eingeführt
Ist das vielleicht verwandt? Ich habe auch mit 2.15.1 getestet:
t = moment().toISOString();
console.log(t.toString());
parsed = moment.parseZone(t);
console.log(parsed.toISOString());
Ausgänge:
2016-10-14T15:33:37.457Z
2016-10-14T17:33:37.457Z
Meine Ortszeit ist "Europa / Wien" und daher weiß ich, woher der Unterschied von 2 Stunden wahrscheinlich kommt, aber ich verstehe nicht, warum es so sein sollte.
Mit 2.14.1 bekomme ich die erwartete Ausgabe:
2016-10-14T15:36:23.956Z
2016-10-14T15:36:23.956Z
PR behandelt das Problem, von dem ich glaube - # 3504 - Bitte lassen Sie mich wissen, wenn es einfach falsch ist. @maggiepint
Ich kann unter https://github.com/moment/moment/issues/3463#issuecomment -253836488 bestätigen, dass mein Problem dadurch behoben wird
Hilfreichster Kommentar
3504 wurde gerade als Bugfix w00t bezeichnet!