Floating time in calendar files, explained
A time with no timezone can be useful, but every calendar app must decide how to display it.
On this page
The short answer
Importing an ICS file copies the events into a calendar once. Subscribing adds a separate calendar that can check its source for changes. If you expect future updates, use a subscription when the publisher provides a calendar URL.
The two actions can look similar at first. The difference becomes visible later: an imported event does not know where its original file came from.
What you may notice
- A changed event still shows its old time.
- New events never appear in the imported calendar.
- Importing the file again creates duplicates.
The most common causes
The file was downloaded instead of subscribed to
A downloaded .ics file is a snapshot. Opening it usually starts an import flow, even when the website calls it a “calendar link.”
The calendar URL is no longer reachable
A subscription depends on a stable URL. Authentication, redirects, or a removed feed can stop updates.
A minimal ICS example
The example below is fictional and contains no real calendar data.
1BEGIN:VCALENDAR 2VERSION:2.0 3BEGIN:VEVENT 4UID:design-review@example.test 5DTSTART:20261104T150000Z 6SUMMARY:Design review 7END:VEVENT 8END:VCALENDAR
How to check it in CalendarLint
- Open the file in ICS Viewer.
- Confirm the event count and intended dates.
- Open an event to review its UID and written time.
- Compare the file with a newer download if updates are missing.
Before you import the file again
- Confirm whether you need a one-time copy or ongoing updates.
- Remove the earlier import if importing again would create duplicates.
- Use a test calendar when the file contains many events.
Sources
RFC 5545 iCalendar specification · Platform documentation should be checked for the calendar app and version you use.