python - 如何根据本地时区和夏令时获取 UTC + x 数字?

标签 python datetime timezone dst

如何根据本地时区和夏令时获取UTC + x数字?

示例:假设我们位于巴黎/法国时区。对于冬季日期时间(1 月 1 日 00:55:23),我们预计 0001:

import datetime
print datetime.datetime(2018, 01, 01, 00, 55, 23).strftime('%z') 
# empty string because the datetime is naive
# expecting 0001

对于夏季日期时间,我们期望 0002:

print datetime.datetime(2018, 07, 01, 00, 55, 23).strftime('%z') 
# expecting 0002

最佳答案

使用dateutil :

from dateutil import tz
from datetime import datetime

paris = tz.gettz('Europe/Paris')

dt1 = datetime(2018, 1, 1, 0, 55, 23, tzinfo=paris)
dt2 = datetime(2018, 7, 1, 0, 55, 23, tzinfo=paris)

print(dt1.strftime('%z'))  # prints +0100
print(dt2.strftime('%z'))  # prints +0200

或者,使用 pytz :

from pytz import timezone
from datetime import datetime

paris = timezone('Europe/Paris')

dt1 = paris.localize(datetime(2018, 1, 1, 0, 55, 23))
dt2 = paris.localize(datetime(2018, 7, 1, 0, 55, 23))

print(dt1.strftime('%z'))  # prints +0100
print(dt2.strftime('%z'))  # prints +0200

关于python - 如何根据本地时区和夏令时获取 UTC + x 数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51306939/

相关文章:

python - 解析电子邮件并从正文中获取号码

python - 如何将日期时间对象四舍五入到最近的前一刻钟?

.net - 如何获取系统的动态时区

javascript - 从不带时区和时区名称的日期字符串获取时间戳

python - 从 Tkinter 运行线程并等待它完成

python线程安全的可变对象副本

java - DateTimeParseException : Text '2019-08-13T07:29:12.000+0000' could not be parsed, 在索引 23 处找到未解析的文本

c# - 连接格式化字符串时出现问题

timezone - 如何在 Julia 中使用超过 2038 年的时区日期?

python - 如何以编程方式更改 Tkinter 标签的颜色?