我正在try 以小时为单位转换两个时区之间的偏移量.

hour_offset变量的类型为SET,我希望能够将该值用于其他计算,因此在下面的示例中,计算应为9小时.

<class 'set'>
{8.0}
      print(1 + hour_offset)
          ~~^~~~~~~~~~~~~
TypeError: unsupported operand type(s) for +: 'int' and 'set'
from datetime import datetime
from zoneinfo import ZoneInfo

dt = datetime.now()
tz0, tz1 = "America/Los_Angeles", "Europe/London"

utcoff0, utcoff1 = dt.astimezone(ZoneInfo(tz0)).utcoffset(), dt.astimezone(ZoneInfo(tz1)).utcoffset()

print(f"hours offset between {tz0} -> {tz1} timezones: {(utcoff1-utcoff0).total_seconds()/3600}")

hour_offset = ({(utcoff1-utcoff0).total_seconds()/3600})

print(type(hour_offset))
print(hour_offset)

print(1 + hour_offset)

推荐答案

hour_offset是一个集合,因为它是如何在代码中定义的.{...} defines a set literal:

hour_offset = ({(utcoff1-utcoff0).total_seconds()/3600})
#              ^----------this defines a set----------^

go 掉大括号(你也可以go 掉最外面的圆括号):

hour_offset = (utcoff1 - utcoff0).total_seconds() / 3600

附注:并非所有时区偏移量都是整数.例如,Newfoundland.

Python相关问答推荐

修剪Python框架中的尾随NaN值

在Python中添加期货之间的延迟

已安装' owiener ' Python模块,但在导入过程中始终没有名为owiener的模块

根据多列和一些条件创建新列

如何将不同长度的新列添加到现有的框架中

使用Python进行网页抓取,没有页面

将列表中的元素替换为收件箱中的元素

Django注释:将时差转换为小数或小数

inspect_asm不给出输出

给定数据点,制定它们的关系

在matplotlib动画gif中更改配色方案

Python plt.text中重叠,包adjust_text不起作用,如何修复?

Locust请求中的Python和参数

如何使用Python将工作表从一个Excel工作簿复制粘贴到另一个工作簿?

可变参数数量的重载类型(args或kwargs)

如果值不存在,列表理解返回列表

为什么抓取的HTML与浏览器判断的元素不同?

使用NeuralProphet绘制置信区间时出错

在单个对象中解析多个Python数据帧

python—telegraph—bot send_voice发送空文件