Outlook .ics events show the wrong time on iPhone

You imported an invite or schedule exported from Outlook, and every event is a few hours early or late. The file isn't broken. It uses time zone names iOS doesn't always recognize.

The cause

Every timed event in an .ics file carries a time zone. Apple Calendar expects standard names like America/Los_Angeles. Outlook and Exchange often write Windows names instead:

DTSTART;TZID=Pacific Standard Time:20261005T100000
DTSTART;TZID="(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi":20261005T100000

When the name isn't recognized, the event can be read in the wrong zone, and it shifts by the difference between the two.

Check the file

  1. Open the .ics file in a text editor on a computer (Notepad or TextEdit)
  2. Search for TZID=
  3. If the value after it is a Windows name or a "(UTC±hh:mm)" label, that's the cause

Fix it by hand

  1. Replace each Windows name with its standard name, for example Pacific Standard Time → America/Los_Angeles, Eastern Standard Time → America/New_York, China Standard Time → Asia/Shanghai, W. Europe Standard Time → Europe/Berlin
  2. Replace it in the TZID: line of the VTIMEZONE block too
  3. Save and open the file again on your iPhone

Also check Settings › Calendar › Time Zone Override. If it's on and set to another city, all events are shown in that zone.

Or let an app do it

ICS Import, which I built, maps Windows time zone names and "(UTC+hh:mm)" labels to the right zone before adding events, and shows each event's time so you can check it first. It's free for up to 3 events per import, with a one-time purchase for unlimited.

Get ICS Import

If a file still comes out wrong, email mybosseatpoop@gmail.com with the file and the zone gets added.