Datumsstring umformatieren

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.
brasil66
User
Beiträge: 27
Registriert: Mittwoch 20. Juli 2005, 19:01
Wohnort: Braunschweig

Datumsstring umformatieren

Beitragvon brasil66 » Montag 1. August 2005, 10:13

Hallo!

Bevor ich mir hier einen abbreche und wieder viel zu kompliziert denke(wie das halt so ist, wenn man verschüttete c-kenntnisse im hinterkopf hat und sich an die einfachheit in python einfach nicht gewöhnen will :wink: ), ich habe

folgendes problem:

ich habe einen datumstring in der form "31.12.2005"(dd.mm.yyyy) und will diesen in die form "20051231"(yyyymmdd) umbasteln.
muss ich das zeichen für zeichen mit dummy-strings erledigen, oder geht´s auch eleganter oder gibt´s da evtl. eine funktion für?

für einen tipp oder wink mit dem zaunpfahl wäre ich dankbar!

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

Re: Datumsstring umformatieren

Beitragvon gerold » Montag 1. August 2005, 10:26

brasil66 hat geschrieben: ich habe einen datumstring in der form "31.12.2005"(dd.mm.yyyy) und will diesen in die form "20051231"(yyyymmdd) umbasteln.

Hi brasil66!

Es ginge zwar auch mit den Funktionen strptime und strftime des time-Moduls, aber ich finde folgende Lösung ab Python 2.4 einfacher.

Code: Alles auswählen

>>> s = "31.12.2005"
>>> print "".join(s.split(".")[::-1])
20051231
>>>


mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Datumsstring umformatieren

Beitragvon Leonidas » Montag 1. August 2005, 10:43

gerold hat geschrieben:folgende Lösung ab Python 2.4 einfacher.

Wieso gerade Python 2.4? Ich habe es mit Python 2.3 getestet und das geht auch. Ich könnte mir höchstens vorstellen, dass es in Python 2.2 noch nicht ging, weil die Slice Syntax noch nicht komplett war.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Datumsstring umformatieren

Beitragvon gerold » Montag 1. August 2005, 10:47

Leonidas hat geschrieben: Ich habe es mit Python 2.3 getestet und das geht auch.

Hi Leonidas!

Sorry, ich dachte, dass dieses Feature erst ab 2.4 dazu gekommen ist. Umso besser, wenn es schon in der 2.3 funktioniert. :D

lg
Gerold
:-)
Zuletzt geändert von gerold am Montag 1. August 2005, 10:52, insgesamt 1-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 1. August 2005, 10:49

Achso und ich dachte mir wäre was entgangen :wink:

Ja, deine Lösung für das Problem scheint mir dafür sehr geeignet, ich hätte es wohl genauso gemacht :)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
brasil66
User
Beiträge: 27
Registriert: Mittwoch 20. Juli 2005, 19:01
Wohnort: Braunschweig

Beitragvon brasil66 » Montag 1. August 2005, 12:16

kann mal einer einen wagenheber holen und meine kinnlade wieder hochkurbeln?
das ist ja echt einfach, ich bin begeistert! DANKE!

ich hatte echt schon angefangen, die einzelnen zeichen manuell hin- und her zu schaufeln .....
BlackJack

Beitragvon BlackJack » Montag 1. August 2005, 23:08

Ich würde es in 2.4 lieber mit `reversed()` schreiben. Ist irgendwie verständlicher als die Slice-Syntax.

Code: Alles auswählen

In [17]: s = "31.12.2005"

In [18]: print ''.join(reversed(s.split('.')))
20051231
brasil66
User
Beiträge: 27
Registriert: Mittwoch 20. Juli 2005, 19:01
Wohnort: Braunschweig

Beitragvon brasil66 » Mittwoch 3. August 2005, 12:17

yep, jetzt mit reversed kapiere ich es auch und ist auch logisch. und das ich den string einfach nur "umdrehen" muss, habe ich später erst gesehen ..... jaja, ich weiß, vorher nachdenken :lol:

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], brainstir