在具有正确日期的python中转换和计算日期时间对象的时区

Posted

技术标签:

【中文标题】在具有正确日期的python中转换和计算日期时间对象的时区【英文标题】:Converting and calculating timezone for datetime objects in python with proper dates 【发布时间】:2018-01-12 18:51:09 【问题描述】:

我们如何找到两个不同时区之间的时差? 我的意思是,如果我有两个不同时区的不同时间:

d1=datetime.datetime(2017, 8, 7, 22, 30, tzinfo='Asia/Kolkata' LMT+5:53:00 STD>)

d2=datetime.datetime(2017, 8, 8, 5, 0, tzinfo='Asia/Kuala_Lumpur' LMT+6:47:00 STD>) relativedelta(d2,d1) 是 relativedelta(小时=+5, 分钟=+36)

但它是 4hr 0m ,它在这里失败

【问题讨论】:

How do I find difference between times in different timezones in Python?的可能重复 【参考方案1】:

将时区信息添加到简单的日期时间对象

from datetime import datetime
from pytz import timezone

date_str = "2017-05-05 22:28:15"
datetime_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
datetime_obj_utc = datetime_obj.replace(tzinfo=timezone('UTC'))
print datetime_obj_utc.strftime("%Y-%m-%d %H:%M:%S %Z%z")

结果:

2009-05-05 22:28:15 UTC+0000

【讨论】:

以上是关于在具有正确日期的python中转换和计算日期时间对象的时区的主要内容,如果未能解决你的问题,请参考以下文章

Python:检查解析的日期时间是不是具有正确的时区

Python实战之数字日期和时间的高级处理

Python实战之数字日期和时间的高级处理

如何将 python 日期时间转换为具有可读格式日期的字符串?

将Dataset中的列类型转换为python中具有特定格式的日期时间类型时出错

Python日期时间差的计算(天/小时/分钟)及timedelta函数的使用(附python代码)