使用时区将微秒转换为格式字符串

时间:2015-01-23 15:37:37

标签: python datetime

我需要将一个以微秒为单位的值转换为'%Y-%m-%d %H:%M:%S'格式并应用时区信息来调整输出。我试过了:

datatime.datetime.fromtimestamp(timestamp).strftime('format')

但这不是时区意识。如何在从微秒转换为日期和时间字符串时应用时区信息?

2 个答案:

答案 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