ich versuche einen Datums-String in einen Timestamp umzuwandeln. Der Übersichtlichkeit halber wandle ich den Timestamp gleich wieder in ein für Menschen lesbares Format.
Unter PHP mache ich das z.B. so:
Code: Alles auswählen
echo strftime("%c", mktime (22, 05, 44, 02, 29, 2012));
echo strftime("%c", mktime (22, 05, 44, 03, 29, 2012));
Unter Python habe ich das so versucht:Wed Feb 29 22:05:44 2012
Thu Mar 29 22:05:44 2012
Code: Alles auswählen
print time.strftime('%c', time.localtime(time.mktime((2012,02,29,22,05,44,0,0,0))))
print time.strftime('%c', time.localtime(time.mktime((2012,03,29,22,05,44,0,0,0))))
Die zweite Zeile ist falsch. Erst so ist die Berechnung korrekt:02/29/12 22:05:44
03/29/12 23:05:44
Code: Alles auswählen
print time.strftime('%c', time.localtime(time.mktime((2012,03,29,22,05,44,0,0,1))))
Erste Frage, wo bekomme ich die 1 her? Zweite Frage, wofür ist dieses Verhalten sinnvoll?
Als work-o-round nutze ich:
Code: Alles auswählen
print time.strftime('%c', time.gmtime(time.mktime((2012,02,29,22,05,44,0,0,0))+3600))
print time.strftime('%c', time.gmtime(time.mktime((2012,03,29,22,05,44,0,0,0))+3600))
02/29/12 22:05:44
03/29/12 22:05:44
Richtig glücklich bin ich damit nicht. Weil lediglich die für Menschen lesbare Version korrigiert wird, derTimestamp selbst bleibt falsch!
Gruß Marcia