Time zone in ICS File

Below I show both, then give ready-to-paste VTIMEZONE blocks for all main US time zones so you can swap as needed.


A) Change your file to Pacific Time with DST (recommended)

What to change

  • Add a Pacific VTIMEZONE.
  • Change DTSTART/DTEND to use that TZID (keep the same wall-clock times).
  • Keep DTSTAMP/CREATED/LAST-MODIFIED in UTC with Z.

Minimal diff for your event (IANA zone)

BEGIN:VTIMEZONE
TZID:America/Los_Angeles
BEGIN:STANDARD
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
END:DAYLIGHT
END:VTIMEZONE

And update your VEVENT times:

DTSTART;TZID=America/Los_Angeles:20250808T133000
DTEND;TZID=America/Los_Angeles:20250808T153000

(Everything else in your .ics can stay the same.)

Outlook-only alternative: use TZID:Pacific Standard Time and keep the same offsets/rules.


B) If you truly need fixed PST all year (no DST)

Use a constant offset and no DAYLIGHT block:

BEGIN:VTIMEZONE
TZID:PST_NoDST
BEGIN:STANDARD
DTSTART:19700101T000000
TZOFFSETFROM:-0800
TZOFFSETTO:-0800
TZNAME:PST
END:STANDARD
END:VTIMEZONE

Then:

DTSTART;TZID=PST_NoDST:20250808T133000
DTEND;TZID=PST_NoDST:20250808T153000

Quick guide for US time zones (IANA + Windows IDs)

Use these TZIDs with the matching VTIMEZONE blocks below.

Region (common name)IANA TZIDWindows TZIDDST?
EasternAmerica/New_YorkEastern Standard TimeYes
CentralAmerica/ChicagoCentral Standard TimeYes
Mountain (with DST)America/DenverMountain Standard TimeYes
Arizona (no DST)America/PhoenixUS Mountain Standard TimeNo
PacificAmerica/Los_AngelesPacific Standard TimeYes
AlaskaAmerica/AnchorageAlaska Standard TimeYes
Hawaii (no DST)Pacific/HonoluluHawaiian Standard TimeNo
Aleutian (AK west)America/AdakAleutian Standard TimeYes

Ready-to-paste VTIMEZONE blocks

Each of the “DST: Yes” zones follows US rules: DST starts 2nd Sunday in March (BYDAY=2SU), ends 1st Sunday in November (BYDAY=1SU) at 02:00 local.

Eastern (EDT/EST)

BEGIN:VTIMEZONE
TZID:America/New_York
BEGIN:STANDARD
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
END:VTIMEZONE

Central (CDT/CST)

BEGIN:VTIMEZONE
TZID:America/Chicago
BEGIN:STANDARD
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
END:DAYLIGHT
END:VTIMEZONE

Mountain with DST (MDT/MST)

BEGIN:VTIMEZONE
TZID:America/Denver
BEGIN:STANDARD
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZOFFSETFROM:-0600
TZOFFSETTO:-0700
TZNAME:MST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
TZOFFSETFROM:-0700
TZOFFSETTO:-0600
TZNAME:MDT
END:DAYLIGHT
END:VTIMEZONE

Arizona (no DST)

BEGIN:VTIMEZONE
TZID:America/Phoenix
BEGIN:STANDARD
DTSTART:19700101T000000
TZOFFSETFROM:-0700
TZOFFSETTO:-0700
TZNAME:MST
END:STANDARD
END:VTIMEZONE

Pacific (PDT/PST)

BEGIN:VTIMEZONE
TZID:America/Los_Angeles
BEGIN:STANDARD
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
END:DAYLIGHT
END:VTIMEZONE

Alaska (AKDT/AKST)

BEGIN:VTIMEZONE
TZID:America/Anchorage
BEGIN:STANDARD
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZOFFSETFROM:-0800
TZOFFSETTO:-0900
TZNAME:AKST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
TZOFFSETFROM:-0900
TZOFFSETTO:-0800
TZNAME:AKDT
END:DAYLIGHT
END:VTIMEZONE

Hawaii (no DST)

BEGIN:VTIMEZONE
TZID:Pacific/Honolulu
BEGIN:STANDARD
DTSTART:19700101T000000
TZOFFSETFROM:-1000
TZOFFSETTO:-1000
TZNAME:HST
END:STANDARD
END:VTIMEZONE

Aleutian Islands (HADT/HAST)

BEGIN:VTIMEZONE
TZID:America/Adak
BEGIN:STANDARD
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZOFFSETFROM:-0900
TZOFFSETTO:-1000
TZNAME:HAST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
TZOFFSETFROM:-1000
TZOFFSETTO:-0900
TZNAME:HADT
END:DAYLIGHT
END:VTIMEZONE

How to apply

  1. Pick the correct VTIMEZONE and paste it inside your VCALENDAR (before VEVENT is fine).
  2. Change your VEVENT to use that TZID: DTSTART;TZID:<your TZID>:YYYYMMDDTHHMMSS DTEND;TZID:<your TZID>:YYYYMMDDTHHMMSS
  3. Keep meta timestamps (DTSTAMP, CREATED, LAST-MODIFIED) in UTC with Z.
  4. Don’t mix TZID and Z on the same property.
  5. Keep CRLF line endings; fold long lines at ≤75 octets.

If you tell me which zone you want for this event, I can spit out the final .ics content ready to import.