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
Umgang mit Zeitzonen
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo!
Hier habe ich auch noch einen Link für dich:
http://pypi.python.org/pypi/pytz/
Schau dir auch das Beispiel auf der Homepage http://pytz.sourceforge.net/ an.
mfg
Gerold
Hier habe ich auch noch einen Link für dich:
http://pypi.python.org/pypi/pytz/
Schau dir auch das Beispiel auf der Homepage http://pytz.sourceforge.net/ an.
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Stefan!sma hat geschrieben:Java hatte doch auch seine Vorteile.
Nur weil ein Haus aus Pappe auch Vorteile hat, möchte ich trotzdem nicht darin wohnen.
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Die Frage ist wozu man das braucht. Die meisten Leute können sowieso nicht richtig damit umgehen. Zeitzonen sind nichts "technisches" sondern etwas "politisches" und damit recht unregelmässig und unschön.
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Wenn man bedenkt wie oft sich die tz Datenbank ändert... Sei froh, dass datetime Objekte zumindest einen Hook für tzinfo Objekte haben. Und wie gesagt "sudo easy_install pytz" und das Problem hat sich.sma hat geschrieben:Danke für die Links. Das IMHO traurige Resumé ist aber, Python kann's standardmäßig nicht. Java hatte doch auch seine Vorteile.
TUFKAB – the user formerly known as blackbird
Gerade in den Tagesthemen ein schönes Beispiel für den Zeitzonenirrsinn gesehen: Chavez's Venezuela to get its own time zone