Original reference guides · Reviewed 8 October 2026
All-day events: the end date is a boundary
Start here when: a two-day event displays as one day, or a holiday appears as a midnight appointment.
An all-day VEVENT uses DATE values. Its DTEND is exclusive, and its type must match DTSTART. RFC 5545, event component.
A two-day example
The fictional “Sample reading weekend” occupies 16 and 17 January 2027:
DTSTART;VALUE=DATE:20270116
DTEND;VALUE=DATE:20270118
Think of the final date as the first day outside the event. Draw three boxes labeled 16, 17, and 18. Shade the first two; place the ending boundary before the third. This makes the intended result easier to inspect than a vague label such as “through Sunday.”
The downloadable all-day example includes the calendar wrapper and identifiers. After importing it into a test calendar, inspect both a month view and event details. Expected result: an all-day item covering two dates. If the detail editor shows an inclusive final day, compare the rendered dates rather than assuming that the UI repeats the file's boundary representation.
Repair checklist
- Confirm whether the source meant whole dates or a timed interval. A midnight-to-midnight booking is not automatically an all-day calendar item.
- Check the date fields together. Avoid changing only the start while leaving an incompatible end behind.
- Test a one-day example and a two-day example separately. An importer can appear correct on the simpler case while exposing a boundary mistake on the longer one.
- Check the first day after the event. If it is shaded too, inspect the export before editing unrelated display settings.
Google's Calendar API likewise models an event's end as exclusive and distinguishes all-day dates from timed date-times. That API documentation helps explain the model; it does not establish that every uploaded ICS file will be normalized identically. Google event fields.
Microsoft's Exchange interoperability notes say an end earlier than the start fails import. They also describe acceptance of equal start/end values, a product behavior you should not use as a portable authoring rule. Those notes cover listed Exchange versions, not a blanket guarantee for every Outlook client. Microsoft DTEND notes.