Преобразование datetime.time () в тот же формат, что и time.time () - PullRequest
2 голосов
/ 27 марта 2012

Я использую следующее для получения utc datetime:

import datetime
import time
from pytz import timezone
now_utc = datetime.datetime.now(timezone('UTC'))
now = time.time()
print now_utc.time(), now
>> 04:51:39.337515 1332823899.34

Мне нужно преобразовать формат now_utc.time(), чтобы он выглядел как вывод time.time().

Какя делаю это?Или как мне получить time.time() в utc?

Ответы [ 2 ]

1 голос
/ 27 марта 2012

time.mktime (now_utc.timetuple ())

Обновление ответа, поскольку оно было совершенно неверным, но сделанная мною ошибка может быть полезна для других.

time.mktime не сохраняет часовой пояс, используя кортеж как местное время, поэтому это:

time.mktime(datetime.now().timetuple())

скорее всего сработает.

Но, чтобы сделать его коротким, time.time(), как явно указано в spec , возвращает метку времени UTC, так что просто используйте ее.

(Кроме того, вам не нужен pytz для получения даты и времени UTC, datetime.utcnow() делаетто же самое)

0 голосов
/ 27 марта 2012

попробовать:

now_utc.time().strftime(....)

с здесь

...