python - 为什么Python的datetime.time有tzinfo参数?

标签 python datetime pytz python-datetime

datetime,Python的内置模块,有一些类。

但是我不能很好地理解 datetime.time 类的参数。

time 类有 tzinfo 参数,默认为 None

我想知道为什么time类需要时区信息。

对于datetime类,它有.astimezone方法,我们可以通过时区信息更改数据。但是 time 类没有像 .astimezone 这样的方法。

它只是为datetime.combine类方法保留的吗?还是有一些关于时间和时区的重要故事?

最佳答案

I want to know why time class needs timezone information.

我发现它很有用,例如如果我们正在处理同时发生的事件,无论日期如何(例如计划的作业),并且需要在不同的时区中显示、操作和比较。

如何获取 TZ 感知的 datetime.time 对象

datetime.timetz()

Return time object with same hour, minute, second, microsecond, and tzinfo attributes. See also method time().

因此,对于我的示例用例,我将使用 datetime.js 从我的 tz 感知 datetime.datetime 对象中提取 datetime.time 对象。 datetime.timetz(),它保留了 tzinfo

这适合 datetime.time 对象,而不是也携带日期信息的 datetime.datetime 对象。

But time class have no method like .astimezone.

您无法仅使用时间进行 TZ 转换

至于没有time.astimezone()的原因,我认为可能是因为没有日期,无法猜测DST转换和其他非固定UTC偏移量的影响.

关于python - 为什么Python的datetime.time有tzinfo参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383769/

相关文章:

python - 如何验证 python 对象是日期时间,而不是日期?

c# - DateTime.ToUniversalTime() 如何工作?

python - 当 pytz.timezone() 传递给 tzinfo 时,pytz 返回 LMT 时区而不是 GMT

python - pytz:仅从 GMT 偏移返回 Olson 时区名称

python - Django 时区字段不接受所有 pytz 时区

python - 在python中的当前实例中引用类的先前实例

Python & clang : try. .. except 语句不适用于段错误(核心转储)

python - 计数函数 Python

python - 通过元类修复可变的默认参数

c# - 将 mysql 日期时间解析为 c# DateTime