将datetime.time()转换为与time.time()相同的格式

时间:2012-03-27 04:55:09

标签: python datetime timestamp

我正在使用以下内容获取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()的输出。

我该怎么做?或者,如何在utc中获取time.time()

2 个答案:

答案 0 :(得分:1)

time.mktime(now_utc.timetuple())

更新答案,因为它完全错了,但我犯的错误对其他人有用。

time.mktime不保留时区,使用元组作为本地时间,所以这个:

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

宁愿工作。

但是,为了简化,time.time(),如spec中明确说明的那样,返回UTC时间戳,所以只需使用它。

(另外,您不需要pytz来获取UTC日期时间,datetime.utcnow()也会这样做)

答案 1 :(得分:0)

尝试:

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

来自here