Datumsformat einheitlich anpassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Korea-2003
User
Beiträge: 25
Registriert: Mittwoch 23. April 2008, 13:47

Datumsformat einheitlich anpassen

Beitragvon Korea-2003 » Donnerstag 24. April 2008, 09:34

Hi :)

ich möchte mir ein kleines Modul bauen, welches mir die üblichen Datumsformate in ein einheitliches ausgibt.
Bsp.: datum1 = '19.08.2006', datum2 = '18/05/2006', datum3 = '2007-11-23'
Nun soll zum Schluss das Format mit dem "." ausgegeben werden, so wie bei Datum1.
Lieder habe ich nach endlos langem Probieren mit strftime und strptime keine Lösung gefunden? Gibt es solch ein Modul schon oder könnt ihr mir mit ein paar Zeilen Code weiterhelfen?

MfG :)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Datumsformat einheitlich anpassen

Beitragvon gerold » Donnerstag 24. April 2008, 10:07

Korea-2003 hat geschrieben:die üblichen Datumsformate

Hallo Korea-2003!

http://pypi.python.org/pypi/parsedatetime

Und vielleicht ist hier http://pypi.python.org/pypi?%3Aaction=s ... mit=search auch noch etwas dabei.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
BlackJack

Beitragvon BlackJack » Donnerstag 24. April 2008, 10:24

Wobei die "üblichen" Datumsformate nicht eindeutig sind. Ist zum Beispiel '9/11/2008' der 9. November oder der 11. September? Beides ist möglich.
lunar

Beitragvon lunar » Donnerstag 24. April 2008, 10:26

Alternativ bietet auch python-dateutil ein parser-Modul. Der Vorteil an python-dateutil ist, dass es zumindest meiner Erfahrung nach relativ verbreitet ist, und noch andere nützliche Funktionen wie Behandlung relative Zeitabschnitte oder Zeitzonen-Definitionen mitbringt.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Re: Datumsformat einheitlich anpassen

Beitragvon numerix » Donnerstag 24. April 2008, 12:30

Wenn es nur um genau das geht, was der OP beschrieben hat, dann würde ich es ohne irgendwelche Extramodule einfach mittels Zeichenkettenoperationen umwandeln:

Code: Alles auswählen

>>> "23/03/2007".replace("/",".")
'23.03.2007'
>>> ".".join("2007-03-23".split("-")[::-1])
'23.03.2007'
Korea-2003
User
Beiträge: 25
Registriert: Mittwoch 23. April 2008, 13:47

Beitragvon Korea-2003 » Donnerstag 24. April 2008, 15:40

Hi,

die letzte Lösung hat mir am Besten gefallen, da ich keine zusätzliche Module benötige.

MfG :)
lunar

Beitragvon lunar » Freitag 25. April 2008, 07:53

Dir sollte allerdings bewusst sein, dass diese Art des Parsings alles andere als robust und fehlerresistent ist. Ich persönlich nehme lieber ein fertiges, getestetes Modul, anstatt jedes Mal das Rad neu zu erfinden.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]