Python: "AttributeError: 'datetime.datetime' object has no attribute 'timestamp'" beheben
English
Deutsch
Problem:
Sie möchten ein datetime-Objekt in einen Unix-Timestamp umwandeln (int oder float: Sekunden seit 1970-1-1 00:00:00) in Python mit Code wie
unix_timestamp_example.py
from datetime import datetime
timestamp = datetime.now().timestamp()aber Sie sehen eine Fehlermeldung wie diese:
timestamp_traceback.txt
Traceback (most recent call last):
File "unix-timestamp.py", line 2, in <module>
timestamp = datetime.now().timestamp()
AttributeError: 'datetime.datetime' object has no attribute 'timestamp'Lösung
Sie führen Ihren Code mit Python 2.x aus, das datetime.timestamp() nicht unterstützt - in den meisten Fällen ist der einfachste Weg, dieses Problem zu beheben, Python 3 zu verwenden, z.B.:
run_python3.sh
python3 unix-timestamp.pyFalls dies nicht möglich ist, z.B. aufgrund von Inkompatibilitäten, verwenden Sie stattdessen dieses Snippet, das sowohl mit Python 2 als auch Python 3 kompatibel ist:
unix_timestamp_compat.py
from datetime import datetime
import time
dt = datetime.now()
timestamp = time.mktime(dt.timetuple()) + dt.microsecond/1e6Check out similar posts by category:
Python
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow