如何在Python中使用datetime.tzinfo?
问题描述:
我不知道如何使用datetime.tzinfo
模块。我必须将UTC的日期时间数据转换为本地时区,如果我检索'+2'(表示gmt + 2),我该如何将其转换为tzinfo对象?如何在Python中使用datetime.tzinfo?
此外,是否可以将UTC自动转换为本地时区并自动应用夏令时?如何设置在dst期间自动减去一小时只有?
答
您可以使用tzoffset
来设置您检索的时区偏移量。例如,如果你得到“+2”,解析字符串,以便n = 2
:
from dateutil.tz import tzoffset
utc_dt = your_datetime.replace(tzinfo=tzoffset("UTC+0",0))
local_dt = utc_dt.astimezone(tzoffset("UTC+{}".format(n), n*60*60))
变量utc_dt
使用只是为了确保你原来的日期时间有一个正确的UTC时区的属性,否则将无法工作。然后,您可以设置目标当地时间的偏移量,以秒为单位。
我不确定是否可以应用DST知道UTC/GMT偏移量,因为某个时区的某些国家可能不会应用它。如果您具有“欧洲/维也纳”的确切本地化,则可以使用pytz库和datetime.dst()方法来确定是否减去一小时。
非常感谢。我会试试看。 –