Umwandlung einer Unix-Zeitstempel-Zeichenkette in ein lesbares Datum

Ich habe einen String, der einen Unix-Zeitstempel (z.B. "1284101485") in Python darstellt, und ich möchte ihn in ein lesbares Datum konvertieren. Wenn ich time.strftime verwende, erhalte ich einen TypeError:

>>>import time
>>>print time.strftime("%B %d %Y", "1284101485")

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argument must be 9-item sequence, not str

Verwenden Sie das Modul datetime:

from datetime import datetime
ts = int("1284101485")

# if you encounter a "year is out of range" error the timestamp
# may be in milliseconds, try `ts /= 1000` in that case
print(datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'))
Kommentare (11)
>>> from datetime import datetime
>>> datetime.fromtimestamp(1172969203.1)
datetime.datetime(2007, 3, 4, 0, 46, 43, 100000)

Entnommen aus http://seehuhn.de/pages/pdate

Kommentare (0)
>>> import time
>>> time.ctime(int("1284101485"))
'Fri Sep 10 16:51:25 2010'
>>> time.strftime("%D %H:%M", time.localtime(int("1284101485")))
'09/10/10 16:51'
Kommentare (1)