【问题标题】:How to convert a datetime into timestamp with timezone(Asia/Dubai) included? [duplicate]如何将日期时间转换为包含时区(亚洲/迪拜)的时间戳? [复制]
【发布时间】:2016-09-26 12:40:05
【问题描述】:

我能够从时间戳转换为日期,但从日期时间转换为时间戳给出了错误的答案。这是我的代码

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(2015,03,11).strftime('%s')
output:1426012200

【问题讨论】:

  • 另一个 SO 答案有您正在寻找的 here。看第二部分关于从本地时间转换到另一个时区。

标签: python python-2.7 date datetime


【解决方案1】:
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的代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-08
    • 2017-12-27
    • 2020-10-28
    • 1970-01-01
    • 2019-11-29
    • 2019-09-06
    • 2016-09-14
    • 1970-01-01
    相关资源
    最近更新 更多