我需要将一个以微秒为单位的值转换为'%Y-%m-%d %H:%M:%S'
格式并应用时区信息来调整输出。我试过了:
datatime.datetime.fromtimestamp(timestamp).strftime('format')
但这不是时区意识。如何在从微秒转换为日期和时间字符串时应用时区信息?
答案 0 :(得分:0)
将时间戳(“自纪元以来的秒数”)转换为UTC时间作为天真的日期时间对象:
#!/usr/bin/env python
from datetime import datetime
timestamp = 1422025533
utc_time = datetime.utcfromtimestamp(timestamp)
print("Time is = %s" % utc_time)
# -> Time is = 2015-01-23 15:05:33
如果要将特定时区的值作为识别日期时间对象获取;你应该使用pytz
模块:
#!/usr/bin/env python
from datetime import datetime
import pytz # $ pip install pytz
tz = pytz.timezone('Europe/London')
timestamp = 1422025533
london_time = datetime.fromtimestamp(timestamp, tz)
print("Time is = %s" % london_time.strftime('%Y-%m-%d %H:%M:%S %Z%z'))
# -> Time is = 2015-01-23 15:05:33 GMT+0000
答案 1 :(得分:-1)
我认为Delorean是您应该使用的正确的库。
Delorean是一个库,用于清除处理
中日期时间的不便事实
from datetime import datetime
from pytz import timezone
EST = "US/Eastern"
UTC = "UTC"
d = datetime.utcnow()
utc = timezone(UTC)
est = timezone(EST)
d = utc.localize(d)
d = est.normalize(d)
print d