2

定期的なイベントから次の可能な日付を計算する必要があります。vcalender から、次の情報を取得しました。

DTSTART;TZID=Europe/Berlin:20130711T130000
RRULE:FREQ=WEEKLY;BYDAY=TH

http://pythonhosted.org/caldav/を使用して、日付ごとにイベントを取得します。

start_date = datetime.today()
end_date = start_date + timedelta(days=7)

calendar.date_search(start_date, end_date)

しかし、この情報に今日のイベントがあるのですが、この情報で正しい日付を計算/印刷することは可能ですか?

y.getChildValue('rrule')
    u'FREQ=WEEKLY;BYDAY=TH'

y.getChildValue('dtstart')
    datetime.datetime(2013, 7, 11, 13, 0, tzinfo=<tzicalvtz 'Europe/Berlin'>)
4

1 に答える 1

2

追加のモジュールを使用する場合は、python-dateutilを試してください。

import dateutil.rrule as rrule
rule = rrule.rrulestr(y.getChildValue('rrule'), dtstart=y.getChildValue('dtstart'))
rule.after(y.getChildValue('dtstart'))

返す必要があります:

datetime.datetime(2013, 7, 18, 13, 0)
于 2013-12-05T13:34:05.840 に答える