Skip to content
Novus Examples
ics561 B

Calendar Time Zone - Toronto after DST Transition (ICS)

A TZID-qualified event immediately after Toronto's spring-forward boundary, with an explicit VTIMEZONE definition.

Preview — first 27 linesics
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Novus Examples//P6 Calendar//EN
BEGIN:VTIMEZONE
TZID:America/Toronto
BEGIN:DAYLIGHT
DTSTART:20260308T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20261101T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:p6-dst-toronto@novus.example
DTSTAMP:20260731T120000Z
DTSTART;TZID=America/Toronto:20260308T033000
DTEND;TZID=America/Toronto:20260308T040000
SUMMARY:DST normalization check
END:VEVENT
END:VCALENDAR

Specifications

Format
iCalendar 2.0
Encoding
UTF-8
Events
1
Time Representation
toronto
Transition
America/Toronto spring-forward 2026
Line Endings
CRLF

Testing contract

Expected to pass
Scenario
Import timezone-toronto.ics and evaluate its published calendar semantics.
Expected result
Resolve DTSTART to 2026-03-08T07:30:00Z and DTEND to 2026-03-08T08:00:00Z.

What is a .ics file?

ICS (iCalendar) is a plain-text format for exchanging calendar data such as events, to-dos, and free/busy time, structured as nested VCALENDAR and VEVENT components with property lines. It encodes start and end times, recurrence rules, and reminders. It is the universal standard for calendar interchange and invitations.

How to use this file

Use an example ICS file to test calendar import, event and recurrence-rule parsing, timezone handling, and interoperability across calendar applications.

How to use this file for testing

“Calendar Time Zone - Toronto after DST Transition (ICS)” is a deterministic Novus Examples fixture for Calendar parsing, Conversion testing. iCalendar (.ics) files with events, timezones, and recurrence — for testing calendar imports and parsers.

Documented properties for this file: UTF-8 · CRLF · iCalendar 2.0. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Data fixtures document their exact quirks — delimiters, encodings, null handling, schema, and row counts — in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.

Code examples

from icalendar import Calendar  # pip install icalendar

cal = Calendar.from_ical(open("timezone-toronto.ics", "rb").read())
for ev in cal.walk("VEVENT"):
    print(ev.get("summary"))

Generated by generation/p6_core.py. Free for any use, no attribution required — license.