jazzband / django-recurrence

Utility for working with recurring dates in Django.
https://django-recurrence.readthedocs.org/
BSD 3-Clause "New" or "Revised" License
477 stars 188 forks source link

Support creation meetings in the past (via DTSTART) #293

Open striveforbest opened 2 months ago

striveforbest commented 2 months ago

There is no way to create meetings in the past (think when updating a recurring meeting and selecting "All Meetings" on save in any calendar app). ![Uploading Screenshot 2024-06-20 at 10.25.49 AM.png…]()

Per RFC 5545, the start datetime can be provided in the recurrence like so:

  1. Daily for 10 occurrences:
    DTSTART;TZID=America/New_York:19970902T090000
    RRULE:FREQ=DAILY;COUNT=10

resulting in

 ==> (1997 9:00 AM EDT) September 2-11
  1. Daily until December 24, 1997:
    DTSTART;TZID=America/New_York:19970902T090000
    RRULE:FREQ=DAILY;UNTIL=19971224T000000Z

    resulting in

    ==> (1997 9:00 AM EDT) September 2-30;October 1-25
     (1997 9:00 AM EST) October 26-31;November 1-30;December 1-23