timestampstandardsicalendar

Is it standard compliant to declare DTSTART without time zone?


I booked a train ticket with Trenitalia, the Italian train company.

They sent an email with attached ICS files with the travel information.

When I import that ICS in Thunderbird, the time of the train is off: the train leaves at 8.36 but Thunderbird register the event with a starting time of 9:36.

Inspecting the ICS file gives the following:

DTSTART:20250807T083600

There is no Z at the end to specify UTC time but there is no time zone information either.

Is it standard compliant to not specify a time zone?

I'm trying to understand if it's a Trenitalia problem or a Thunderbird problem.


Solution

  • Is it standard compliant to not specify a time zone?

    Yes. The iCalendar format is defined by an RFC, with the primary standard being RFC 5545, which supersedes earlier versions. From RFC 5545:

    The use of local time in a DATE-TIME or TIME value without the "TZID" property parameter is to be interpreted as floating time, regardless of the existence of "VTIMEZONE" calendar components in the iCalendar object.

    However, note the RFC stipulates:

    Floating time SHOULD only be used where that is the reasonable behavior.

    IMHO it is not a reasonable behavior in the context of train booking, therefore Trenitalia, the Italian train company, screwed up.


    More information about floating times:

    The date with local time form is simply a DATE-TIME value that does not contain the UTC designator nor does it reference a time zone. For example, the following represents January 18, 1998, at 11 PM:

      19980118T230000
    

    DATE-TIME values of this type are said to be "floating" and are not bound to any time zone in particular. They are used to represent the same hour, minute, and second value regardless of which time zone is currently being observed. For example, an event can be defined that indicates that an individual will be busy from 11:00 AM to 1:00 PM every day, no matter which time zone the person is in. In these cases, a local time can be specified. The recipient of an iCalendar object with a property value consisting of a local time, without any relative time zone information, SHOULD interpret the value as being fixed to whatever time zone the "ATTENDEE" is in at any given moment. This means that two "Attendees", in different time zones, receiving the same event definition as a floating time, may be participating in the event at different actual times. Floating time SHOULD only be used where that is the reasonable behavior.

    In most cases, a fixed time is desired. To properly communicate a fixed time in a property value, either UTC time or local time with time zone reference MUST be specified.