Seite 1 von 1
Datumsstring umformatieren
Verfasst: Montag 1. August 2005, 10:13
von brasil66
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

), 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
Re: Datumsstring umformatieren
Verfasst: Montag 1. August 2005, 10:26
von gerold
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

Re: Datumsstring umformatieren
Verfasst: Montag 1. August 2005, 10:43
von Leonidas
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.
Re: Datumsstring umformatieren
Verfasst: Montag 1. August 2005, 10:47
von gerold
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.
lg
Gerold

Verfasst: Montag 1. August 2005, 10:49
von Leonidas
Achso und ich dachte mir wäre was entgangen
Ja, deine Lösung für das Problem scheint mir dafür sehr geeignet, ich hätte es wohl genauso gemacht

Verfasst: Montag 1. August 2005, 12:16
von brasil66
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 .....
Verfasst: Montag 1. August 2005, 23:08
von BlackJack
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
Verfasst: Mittwoch 3. August 2005, 12:17
von brasil66
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
