Python 如何使用rrule创建日期时间列表
我正在创建自己的.ics解析器 我正在使用icalendar python模块。它的工作原理很好,但我想得到的日期时间列表的事件已设置 我将起始日期作为datetime对象实例,并将RRULE解析为:Python 如何使用rrule创建日期时间列表,python,icalendar,rrule,Python,Icalendar,Rrule,我正在创建自己的.ics解析器 我正在使用icalendar python模块。它的工作原理很好,但我想得到的日期时间列表的事件已设置 我将起始日期作为datetime对象实例,并将RRULE解析为: CaselessDict({'FREQ': ['MONTHLY'], 'INTERVAL': [1], 'BYDAY': ['4TH']}) 但我不知道如何从这两件事中列出日期时间 谢谢您可以使用该库生成rrules,例如: from dateutil.rrule import rrule, M
CaselessDict({'FREQ': ['MONTHLY'], 'INTERVAL': [1], 'BYDAY': ['4TH']})
但我不知道如何从这两件事中列出日期时间
谢谢您可以使用该库生成rrule
s,例如:
from dateutil.rrule import rrule, MONTHLY
dts = list(rrule(MONTHLY, interval=10, byweekday=4, count=3))
# [datetime.datetime(2013, 11, 29, 15, 44, 45), datetime.datetime(2014, 9, 5, 15, 44, 45), datetime.datetime(2014, 9, 12, 15, 44, 45)]
根据需要调整参数。所以我必须用一些IFs和其他IFs来涵盖所有可能性?可能有很多。@Blaskovic你为什么要这么做。。。您可以从字典中输入变量,例如:
interval=your_CaselessDict['interval']
等。。。您可能需要为频率创建一个映射…因为您可以得到如下结果:WKST=SU;BYDAY=TU,TH See:@Blaskovic好的。。因此,请确保已从dateutil.rrule import MO、TU、WE、TH、FR、SA、SU等导入常量。。。然后将TU
作为文本映射到TU变量。。。因此,它最终会变成byweekday=[TU,TH]
等等。。。