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
Datumsstring umformatieren
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi brasil66!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.
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
>>>
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.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.gerold hat geschrieben:folgende Lösung ab Python 2.4 einfacher.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Leonidas!Leonidas hat geschrieben: Ich habe es mit Python 2.3 getestet und das geht auch.
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
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.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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
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 (former) Modvoice
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 .....
das ist ja echt einfach, ich bin begeistert! DANKE!
ich hatte echt schon angefangen, die einzelnen zeichen manuell hin- und her zu schaufeln .....
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