@IceCool is right — simply omitting the
DTEND is not enough…it will depend on the data type of
DTSTART whether that works.
The spec says that if
DTSTART has a
DATE data type, and there is no
DTEND then the event finishes at the end of the day that it starts. But if
DTSTART has a full
DATE-TIME data type, and there is no
DTEND then it finishes at the same time that it starts.
It’s in section 3.6.1 of RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#page-54):
For cases where a “VEVENT” calendar component specifies a “DTSTART” property with a DATE value type but no “DTEND” nor “DURATION” property, the event’s duration is taken to be one day. For cases where a “VEVENT” calendar component specifies a “DTSTART” property with a DATE-TIME value type but no “DTEND” property, the event ends on the same calendar date and time of day specified by the “DTSTART” property.
So, the upshot is, to get an all day event, this is not enough:
It doesn’t work because the data type is
DATE-TIME, and so the end of the event is the same as the start. To make an all day event you either need to add an explicit
DTEND (also of type
or use the
DATE data type, and then there’s no need for a