Из datetime в timestamp
import datetime import time dt = datetime.datetime.now() # datetime, из которой переводим в timestamp print time.mktime(dt.timetuple()) # Вот, а это timestamp
Из timestamp в datetime
import datetime timestamp = 1301990622 # timestamp, из которого переводим print datetime.datetime.fromtimestamp(timestamp) # Результат будет требующийся datetime
Для python3 (спасибо, Илья Петраш):
from datetime import datetime timestamp = datetime.today().timestamp() print(timestamp)
Спасибо, это и искал.
ОтветитьУдалитьэто помогло, спасибо
ОтветитьУдалитьfrom datetime import datetime
ОтветитьУдалитьtimestamp = datetime.today().timestamp()
print(timestamp)
Да, в python3 похоже так оно
УдалитьВ python2 не работает
Python 2.7.11 (default, Jun 17 2016, 20:01:51)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from datetime import datetime
>>> timestamp = datetime.today().timestamp()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'datetime.datetime' object has no attribute 'timestamp'
Отредактировал для разных версий - спасибо
УдалитьПредложенный метод для python2 даёт в результате float с нулевой дробной частью, то есть не учитывает миллисекунды/микросекунды. Нативный метод .timestamp() в py3 их учитывает.
ОтветитьУдалитьЯ у себя использовал такой workaround:
timestamp = time.mktime(dt.timetuple()) + float(dt.microseconds) / 1000000
Спасибо, Семён
ОтветитьУдалить