gpt4 book ai didi

python - 值错误 : RRULE UNTIL values must be specified in UTC when DTSTART is timezone-aware

转载 作者:太空宇宙 更新时间:2023-11-04 09:35:17 33 4
gpt4 key购买 nike

我一直在尝试使用 python 的 dateutil rrule 来解析重复规则包裹

但是,我遇到了一个与我理解重复规则的方式不一致的奇怪错误

错误是

ValueError:当 DTSTART 是时区感知时,必须以 UTC 指定 RRULE UNTIL 值

我调用的函数是

recurrence = "RRULE:FREQ=WEEKLY;UNTIL=20181206T075959Z;BYDAY=MO,WE,FR"
rule = rrulestr(重复, dtstart=datetime.now())

如果 until 的结构为 UNTIL=20181206T075959Z,那不是 UTC 时间吗?为什么会出现此错误,什么是合适的解决方案?问题是,这适用于

“RRULE:FREQ=WEEKLY;UNTIL=20191206T075959;BYDAY=MO,WE,FR”,我认为它不在 UTC 中,因为它缺少“Z”

最佳答案

这可能是一个令人困惑的错误消息,因为它取自 RFC 规范但并未真正解释上下文。

问题是 dtstartUNTIL 必须都是原始的或时区感知的,规范实际上指定 UNTIL 必须在这种情况下特别是 UTC。

要修复你的代码,你可以让 dtstart 时区感知:

from dateutil.tz import UTC
recurrence = "RRULE:FREQ=WEEKLY;UNTIL=20181206T075959Z;BYDAY=MO,WE,FR"
rule = rrulestr(recurrence, dtstart=datetime.now(UTC))

请随时在 dateutil's issue tracker 上报告令人困惑的错误消息.

关于python - 值错误 : RRULE UNTIL values must be specified in UTC when DTSTART is timezone-aware,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53997143/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com