关于python:如何在考虑夏令时的情况下指定RRule?

How to specify an RRule taking into account daylight savings time?

我正在尝试使用python-dateutil创建一个rrule来安排事件在美国东部时间下午6点每天运行。

我正在使用的当前rrule简单地说:

1
byhour:23;

这将在非夏令时期间下午6点呈现,但在夏令时期间,呈现为晚上7点。

如何更改此项以考虑DST?

我运行的服务器(Linux)目前已配置为EST并且已经考虑了DST,因此看起来python-dateutil忽略了这一点并基于UTC计算。


你不应该使用BYHOUR。

您所需要的只是一个RRULE:FREQ = DAILY但您的DTSTART需要在当地时间内使用时区ID,而不是UTC,例如:

1
2
DTSTART;TZID=America/New_York:20160805T180000
RRULE:FREQ=DAILY