如何将日期时间转换为包含时区(亚洲/迪拜)的时间戳?

时间:2016-05-28 06:24:07

标签: python python-2.7 date datetime

我可以从时间戳转换为日期,但是从datetime到timestamp的转换给出了错误的答案。这是我的代码

import datetime
from pytz import timezone

datetime.datetime.fromtimestamp(1426017600,timezone("Asia/Dubai")).strftime('%Y-%m-%d %H:%M:%S')
output:'2015-03-11 00:00:00'

如何在从datetime转换回时间戳时包含时区?

>>datetime.datetime(2015,03,11).strftime('%s')
output:1426012200

1 个答案:

答案 0 :(得分:0)

from datetime import datetime, time, date
from pytz import timezone, utc

tz = timezone("Asia/Dubai")
d = datetime.fromtimestamp(1426017600,tz)
print d
midnight = tz.localize(datetime.combine(date(d.year, d.month, d.day),time(0,0)), is_dst=None)
print int((midnight - datetime(1970, 1, 1, tzinfo=utc)).total_seconds())

基于python - datetime with timezone to epoch

的代码
相关问题