If someone tells you to subtract 8 hours from UTC to get Pacific Time, they are right for about 4.5 months of the year and wrong for the other 7.5 months. Pacific Standard Time (PST) is UTC-8. Pacific Daylight Time (PDT) is UTC-7. If you use UTC-8 during the summer, every converted time will be one hour off.
This is not a minor inconvenience. A meeting scheduled at "9 AM Pacific" means 17:00 UTC during PST (November through March) and 16:00 UTC during PDT (March through November). If your code hardcodes UTC-8, every summer meeting is scheduled an hour early.
The transition dates
In the US, Daylight Saving Time begins on the second Sunday of March at 2:00 AM local time and ends on the first Sunday of November at 2:00 AM local time. These dates were set by the Energy Policy Act of 2005 and took effect in 2007.
In 2026:
- PDT starts: March 8, 2026, at 2:00 AM (clocks spring forward to 3:00 AM)
- PST starts: November 1, 2026, at 2:00 AM (clocks fall back to 1:00 AM)
From March 8 to November 1: Pacific Daylight Time (UTC-7)
From November 1 to March 8: Pacific Standard Time (UTC-8)
The conversion
UTC to PST (winter): Subtract 8 hours.
UTC to PDT (summer): Subtract 7 hours.
Summer: 14:00 UTC = 14:00 - 7 = 07:00 PDT
Winter: 14:00 UTC = 14:00 - 8 = 06:00 PST
For times that cross midnight:
Winter: 03:00 UTC = 03:00 - 8 = -5:00 = 19:00 PST (previous day)
Summer: 03:00 UTC = 03:00 - 7 = -4:00 = 20:00 PDT (previous day)
The code approach
Never hardcode UTC offsets. Use time zone names and let the runtime handle DST transitions.
// Wrong (hardcoded offset)
function utcToPacific(utcDate) {
return new Date(utcDate.getTime() - 8 * 60 * 60 * 1000);
}
// Right (timezone-aware)
function utcToPacific(utcDate) {
return utcDate.toLocaleString('en-US', { timeZone: 'America/Los_Angeles' });
}
The America/Los_Angeles IANA time zone identifier encodes all the rules: UTC-8 in winter, UTC-7 in summer, transitions on the correct dates, historical changes, and any future changes if DST is abolished (which has been proposed repeatedly but not enacted).
Common Pacific Time cities
All of these observe the same PST/PDT transitions:
- Los Angeles
- San Francisco
- Seattle
- Portland
- Las Vegas
- Vancouver (Canada)
- Tijuana (Mexico, same transition dates since 2023)
Phoenix, Arizona is in the Mountain time zone but does NOT observe DST. During winter, Phoenix and Los Angeles are one hour apart. During summer, they are on the same time. This confuses people constantly.
The permanent DST debate
The US Senate passed the Sunshine Protection Act in 2022, which would make DST permanent (eliminating the fall-back). The House never voted on it. If it were enacted, Pacific Time would be UTC-7 year-round, and PST would cease to exist.
Several states (California, Oregon, Washington) have passed state-level legislation to adopt permanent DST, contingent on federal authorization. Until federal law changes, the transitions continue.
The quick converter
I built a UTC to PST converter at zovo.one/free-tools/utc-to-pst-converter that automatically determines whether PST or PDT is in effect for any given date and applies the correct offset. Enter a UTC time and date, get the accurate Pacific Time equivalent. No guessing about whether to subtract 7 or 8.
I'm Michael Lip. I build free developer tools at zovo.one. 500+ tools, all private, all free.
Top comments (0)