Umgang mit Zeitzonen
Verfasst: Montag 3. Dezember 2007, 16:28
Ich versuche gerade zu verstehen, wie `datetime`-Objekte ticken und wundere mich, dass offenbar Python kein eingebautes Konzept für Zeitzonen hat. Ist das richtig?
Die Doku spricht von naiven und "aware" Objekten, wobei erstere der Default sind.
Doch wie setze ich jetzt eine Zeitzone? Die Klasse `tzinfo` ist abstrakt, muss ich mir wirklich selbst davon Unterklassen bauen? Das entsetzt mich etwas, da bin ich von Java besseres gewohnt. Wie ermittle ich denn die aktuelle Zeitzone plattformübergreifend?
Ich möchte eigentlich im Programm ausschließlicht mit UTC arbeiten und auf lokale Zeit nur für die Ausgabe ausweichen - schon daher, weil bei Webanwendungen, deren User über mehr als eine Zeitzone verteilt sind, ansonsten Chaos ausbricht.
Bonusfrage: Wieso liefert fstat(..).st_ctime etwas, das ich nicht in ein `datetime`-Objekt verwandeln kann (warum ist das nicht bereits so ein Objekt? ja, ja, historische Gründe) sondern warum gibt es noch ein `time`-Objekt, mit dem man noch nicht einmal rechnen kann. Grummel.
Stefan
Die Doku spricht von naiven und "aware" Objekten, wobei erstere der Default sind.
Doch wie setze ich jetzt eine Zeitzone? Die Klasse `tzinfo` ist abstrakt, muss ich mir wirklich selbst davon Unterklassen bauen? Das entsetzt mich etwas, da bin ich von Java besseres gewohnt. Wie ermittle ich denn die aktuelle Zeitzone plattformübergreifend?
Ich möchte eigentlich im Programm ausschließlicht mit UTC arbeiten und auf lokale Zeit nur für die Ausgabe ausweichen - schon daher, weil bei Webanwendungen, deren User über mehr als eine Zeitzone verteilt sind, ansonsten Chaos ausbricht.
Bonusfrage: Wieso liefert fstat(..).st_ctime etwas, das ich nicht in ein `datetime`-Objekt verwandeln kann (warum ist das nicht bereits so ein Objekt? ja, ja, historische Gründe) sondern warum gibt es noch ein `time`-Objekt, mit dem man noch nicht einmal rechnen kann. Grummel.
Stefan