Wären diese Werte nicht immer die gleichen wie getSeconds
und getMilliseconds
?Warum gibt es die Funktionen "getUTCSeconds" und "getUTCMilliseconds"?
Antwort
Die Einstellung zwischen Ortszeit und UTC-Zeit basiert auf einem Offset, der in Millisekunden angegeben wird.
http://es5.github.com/#x15.9.1.7 sagt
15.9.1.7 Lokale Zeitzone Adjustment
Eine Implementierung von ECMAScript wird erwartet, dass die lokale Zeitzoneneinstellung zu bestimmen. Die lokale Zeitzonenanpassung ist ein Wert LocalTZA , der in Millisekunden gemessen wird. Wenn er zu UTC hinzugefügt wird, entspricht dies der lokalen Standardzeit. Die Sommerzeit wird von LocalTZA nicht wiedergegeben. Der Wert LocalTZA variiert nicht mit der Zeit, sondern hängt nur vom geografischen Standort ab.
, wann dies ist nützlich, http://bugs.python.org/issue5288 erklärt ein API-Problem, das von der Annahme, dass Zeitzone Offsets entstand eine ganze Zahl von Minuten waren:
Die Olson-Zeitzone-Datenbank (von den meisten UNIX-Systemen und Mac OS X) verfügt über eine Anzahl von Zeitzonen mit historischen Offsets, die die zweite Auflösung verwenden (von vor diesen Standorten, die auf einen gerundeten Offset von GMT umgeschaltet wurden).
Sobald Sie auf die zweite Auflösung gehen, scheint keine getUTCMillis
nur eine seltsame Asymmetrie zu haben.
weil es leap seconds gibt.
JavaScript berücksichtigt Schaltsekunden nicht. Siehe die Definitionen von 'msFromTime' und' secFromTime' in der [Sprachspezifikation] (http://es5.github.com/#x15.9.1.10) –
- 1. Warum gibt es keine statische Bibliothek für mathematische Funktionen?
- 2. Warum gibt es keine Anzeigen Beispiel für Funktionen?
- 3. Warum gibt es keine faktoriellen Funktionen in CPP N
- 4. Gibt es Funktionen in Python?
- 5. Warum gibt es die Basic EventArgs Klasse?
- 6. Warum gibt es Haupt- und Titel?
- 7. Warum gibt es kein List.skip und List.take?
- 8. Gibt es Methodenverweise auf die grundlegenden mathematischen Funktionen?
- 9. Gibt es einen Unterschied zwischen den Funktionen on_exit() und atexit()?
- 10. Warum gibt es keine asin2() und acos2() Funktionen ähnlich wie atan2()?
- 11. Gibt es eine Clojure-Konvention für die Benennung privater Funktionen?
- 12. Gibt es einen Entwurfsgrund, warum std :: set Front- und Back-Member-Funktionen nicht hat?
- 13. Gibt es einen Unterschied zwischen [=] und [&] in Lambda-Funktionen?
- 14. Haskell: Warum gibt es keinen Typunterschied (und warum kompiliert er)?
- 15. Warum gibt es kein boost :: filesystem :: move_file?
- 16. Warum gibt es kein foreignAutoDelete?
- 17. Warum gibt es viele Datenbankverbindungstypen?
- 18. Warum gibt es nicht int128_t?
- 19. Warum gibt es immer 99?
- 20. Warum gibt es zwei Arten von SortedList?
- 21. Warum gibt es keine Duration.ofWeeks()?
- 22. Warum gibt es ein unterschiedliches Verhalten von getpwuid und getgrgid?
- 23. Warum gibt es immer Fehler?
- 24. Warum gibt es keinen Kompilierungsfehler?
- 25. Warum gibt es imageCreateFrom * wenn es imageCreateFromString gibt?
- 26. Warum gibt es keine Grenze?
- 27. Gibt es für Python eine Bibliothek für Prim-verwandte Funktionen?
- 28. Warum funktionieren die Funktionen rename() und remove() nicht?
- 29. Funktionen in Validierung und Implementierung trennen? Warum?
- 30. Gibt es einen modernen Ersatz für die Transaktions- und Pooling-Funktionen von Enterprise Services?
Lustig, dass der Offset als ** Millisekunden ** bis * angegeben ist * addiere ** zu UTC, aber die 'getTimezoneOffset'-Methode gibt einen Wert in ** Minuten ** zurück, der ** von UTC ** subtrahiert werden muss, um die lokale Zeit zu erhalten. Liebst du nicht gerade spec Autoren? – RobG
Gerade erst ist klar geworden, wie schlecht verwirrende Zeiten und Zeitzonen sein können. – Matt
@RobG, Ja, aber JavaScript hatte ein Date-Objekt, bevor es eine Spezifikation hatte :) –