Der folgende Code zeigt den Unterschied zwischen meiner Ortszeit (US Central Time) und UTC für jeden Tag mehr als ein Jahr:Wie erkennt das Datetime-Modul die lokale Zeitzone?
Das Ergebnis:
2010-12-31 15:14:03 6:00:00
2011-01-01 15:14:03 6:00:00
...
2011-03-11 15:14:03 6:00:00
2011-03-12 15:14:03 6:00:00
2011-03-13 15:14:03 5:00:00
2011-03-14 15:14:03 5:00:00
...
2011-11-04 15:14:03 5:00:00
2011-11-05 15:14:03 5:00:00
2011-11-06 15:14:03 6:00:00
2011-11-07 15:14:03 6:00:00
...
2011-12-29 15:14:03 6:00:00
2011-12-30 15:14:03 6:00:00
Ohne meine jede Zeitzone info Angabe , das Datetime-Modul scheint nicht nur den Zeitunterschied zwischen meiner lokalen Zeitzone und UTC zu kennen, sondern auch, wann die Sommerzeit beginnt und endet. Dies scheint this answer zu einer ähnlichen Frage zu widersprechen. Täusche ich mich in meiner Schlussfolgerung? Wenn nicht, wie bekomme ich diese Zeitzoneninformationen vom OS/datetime Modul?
In meinem Beispiel rufe ich nie die Klassen tzinfo oder timezone auf; Die von mir erstellten Datetime-Objekte sind alle naiv. Wie verhält sich datetime.datetime.utcfromtimestamp so, als wäre es zeitzonensensitiv, indem datetime-Objekte zurückgegeben werden, die sich von den lokalen korrekt unterscheiden? –
Überprüfen Sie die datetime-Objektbeschreibung in den Dokumenten und gehen Sie durch die Funktion datetime.fromtimestamp() [Überprüfen Sie die Argumentliste] –