我正在使用 rruleJS ( https://github.com/jkbrzt/rrule ) 并且开始日期如下:
开始日期和时间:2015-09-15 23:45 每第三周 工作日:周一、周三、周日
我保存它并得到这个规则:
FREQ=WEEKLY;INTERVAL=3;DTSTART=20150915T234500Z;BYDAY=MO,WE,SU
我现在预计我的复发开始时间是 23:45,
Wed Sep 16 2015 23:45:00 GMT+0200 (CEST),
Sun Sep 20 2015 23:45:00 GMT+0200 (CEST),
Mon Oct 05 2015 23:45:00 GMT+0200 (CEST),
Wed Oct 07 2015 23:45:00 GMT+0200 (CEST),
...
但相反,我得到了这些重复:
Wed Sep 16 2015 01:45:00 GMT+0200 (CEST),
Sun Sep 20 2015 01:45:00 GMT+0200 (CEST),
Mon Oct 05 2015 01:45:00 GMT+0200 (CEST),
Wed Oct 07 2015 01:45:00 GMT+0200 (CEST),
Sun Oct 11 2015 01:45:00 GMT+0200 (CEST),
....
这是因为转换为当地时间(CEST-> +2 小时 -> 23:45 变为 01:45)。我可以减去时区偏移,但这会切换到另一个工作日。例如,如果我从 2015 年 9 月 16 日星期三 01:45:00 GMT+0200 (CEST) 减去 2 小时,我将得到 2015 年 9 月 15 日星期二 23:45:00 GMT+0200 (CEST)。
但这不是我想要的:时间是正确的,但不是工作日。我不希望它在周二重演,而是在周一、周三或周日重演。
如何考虑时区但仍保留开始的工作日?