Created
May 9, 2017 14:33
-
-
Save denis-trofimov/200aa500411967e714418957e1319913 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
From http://satels.blogspot.ru/2011/04/datetime-timestamp.html | |
Из datetime в timestamp и обратно | |
Для python версии 2: | |
Из 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) | |
""" | |
Предложенный метод для python2 даёт в результате float с нулевой дробной частью, | |
то есть не учитывает миллисекунды/микросекунды. Нативный метод .timestamp() в py3 их учитывает. | |
Я у себя использовал такой workaround: | |
""" | |
timestamp = time.mktime(dt.timetuple()) + float(dt.microseconds) / 1000000 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment