US market hours and daylight saving time na wetin?
US market hours no dey change: NYSE and Nasdaq still dey run 9:30 to 16:00 ET. See how daylight saving shift the open for London, Frankfurt, Tokyo and Sydney.
US market hours no dey change because of daylight saving time. New York Stock Exchange and Nasdaq dey run regular session from 9:30 to 16:00 New York time for every trading day of the year, for January just as e be for July. Na the local time of that market open for people wey dey outside the United States dey shift twice every year. For some weeks each spring and autumn, the time difference between New York and Europe dey one hour different from the usual gap.
US market hours dey change when daylight saving time change?
No. Exchange dey run its session on Eastern Time. Eastern Time na wall clock wey get two names during the year: Eastern Standard Time (EST) for winter, and Eastern Daylight Time (EDT) for summer. Na the clocks dey move around the session. The session itself still dey start at 9:30.
The timestamps na the proof. Market data dey stored for Coordinated Universal Time (UTC), the global reference clock wey no dey observe daylight saving. The panel below dey take the 9:30 opening minute of the final regular session for each month across two years. E dey use SPY (the S&P 500 tracker) as reference tape, then e print that same moment for both clocks.
The exact SQL behind every number
WITH ny_opens AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
min(window_start) AS open_utc
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2024-08-01') AND toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) = 570
GROUP BY session_date
)
SELECT formatDateTime(toStartOfMonth(session_date), '%Y-%m') AS month,
formatDateTimeInJodaSyntax(toStartOfMonth(session_date), 'MMMM yyyy') AS month_label,
formatDateTime(toTimeZone(argMax(open_utc, session_date), 'America/New_York'), '%H:%i') AS ny_open_et_clock,
formatDateTime(argMax(open_utc, session_date), '%H:%i') AS ny_open_utc_clock,
toHour(toTimeZone(argMax(open_utc, session_date), 'America/New_York')) * 60
+ toMinute(toTimeZone(argMax(open_utc, session_date), 'America/New_York')) AS ny_open_et_minutes,
toHour(argMax(open_utc, session_date)) * 60
+ toMinute(argMax(open_utc, session_date)) AS ny_open_utc_minutes
FROM ny_opens
GROUP BY toStartOfMonth(session_date)
ORDER BY toStartOfMonth(session_date)Read the two lines together. The New York line flat: 09:30 for August 2024, the same 09:30 for July 2026, and for all 24 month-ends wey dey between dem. The UTC line dey shift: 13:30 on the summer clock, 14:30 by November 2024 on the winter clock, then e shift back again for spring. One hour, two times every year, but New York open no dey notice am.
When US clocks dey change?
Na two rules, no be two fixed dates. Clocks dey move forward one hour for the second Sunday of March, then move backward one hour for the first Sunday of November. Both changes happen for 2:00 local time. This pattern don dey since 2007. Standard time na the winter setting, while daylight saving time na the summer setting. The summer setting cover nearly two thirds of the trading year.
Nothing about the trading day dey change on either Sunday. The session still open for the same wall-clock minute for New York on the Friday before and Monday after. Wetin change na the UTC stamp for that minute: 14:30 for the winter clock against 13:30 for the summer one. Every local start time outside the United States change along with am.
US market dey open what time for my time zone?
Your local time na New York 9:30 plus the time difference between your city and New York. Na this difference dey change. The panel below use one real 9:30 opening time from US summer session for 2026 and another one from US winter session for the same year, then convert both times for eight cities.
The exact SQL behind every number
WITH anchors AS (
SELECT maxIf(window_start, toMonth(toTimeZone(window_start, 'America/New_York')) = 6) AS summer,
maxIf(window_start, toMonth(toTimeZone(window_start, 'America/New_York')) = 1) AS winter
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toYear(toTimeZone(window_start, 'America/New_York')) = 2026
AND toMonth(toTimeZone(window_start, 'America/New_York')) IN (1, 6)
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) = 570
),
local_opens AS (
SELECT arrayJoin([
('Sao Paulo', toHour(toTimeZone(summer, 'America/Sao_Paulo')) * 60 + toMinute(toTimeZone(summer, 'America/Sao_Paulo')), toHour(toTimeZone(winter, 'America/Sao_Paulo')) * 60 + toMinute(toTimeZone(winter, 'America/Sao_Paulo'))),
('London', toHour(toTimeZone(summer, 'Europe/London')) * 60 + toMinute(toTimeZone(summer, 'Europe/London')), toHour(toTimeZone(winter, 'Europe/London')) * 60 + toMinute(toTimeZone(winter, 'Europe/London'))),
('Frankfurt', toHour(toTimeZone(summer, 'Europe/Berlin')) * 60 + toMinute(toTimeZone(summer, 'Europe/Berlin')), toHour(toTimeZone(winter, 'Europe/Berlin')) * 60 + toMinute(toTimeZone(winter, 'Europe/Berlin'))),
('Dubai', toHour(toTimeZone(summer, 'Asia/Dubai')) * 60 + toMinute(toTimeZone(summer, 'Asia/Dubai')), toHour(toTimeZone(winter, 'Asia/Dubai')) * 60 + toMinute(toTimeZone(winter, 'Asia/Dubai'))),
('Mumbai', toHour(toTimeZone(summer, 'Asia/Kolkata')) * 60 + toMinute(toTimeZone(summer, 'Asia/Kolkata')), toHour(toTimeZone(winter, 'Asia/Kolkata')) * 60 + toMinute(toTimeZone(winter, 'Asia/Kolkata'))),
('Singapore', toHour(toTimeZone(summer, 'Asia/Singapore')) * 60 + toMinute(toTimeZone(summer, 'Asia/Singapore')), toHour(toTimeZone(winter, 'Asia/Singapore')) * 60 + toMinute(toTimeZone(winter, 'Asia/Singapore'))),
('Tokyo', toHour(toTimeZone(summer, 'Asia/Tokyo')) * 60 + toMinute(toTimeZone(summer, 'Asia/Tokyo')), toHour(toTimeZone(winter, 'Asia/Tokyo')) * 60 + toMinute(toTimeZone(winter, 'Asia/Tokyo'))),
('Sydney', toHour(toTimeZone(summer, 'Australia/Sydney')) * 60 + toMinute(toTimeZone(summer, 'Australia/Sydney')), toHour(toTimeZone(winter, 'Australia/Sydney')) * 60 + toMinute(toTimeZone(winter, 'Australia/Sydney')))
]) AS city_open
FROM anchors
)
SELECT tupleElement(city_open, 1) AS city,
formatDateTime(toDateTime(tupleElement(city_open, 2) * 60, 'UTC'), '%H:%i') AS local_open_us_summer,
formatDateTime(toDateTime(tupleElement(city_open, 3) * 60, 'UTC'), '%H:%i') AS local_open_us_winter,
round(((tupleElement(city_open, 2) + 1440 - 570) % 1440) / 60, 1) AS hours_ahead_us_summer,
round(((tupleElement(city_open, 3) + 1440 - 570) % 1440) / 60, 1) AS hours_ahead_us_winter
FROM local_opens
ORDER BY hours_ahead_us_summerCompare the two offset columns. London and Frankfurt get the same time difference under both US regimes, 5 and 6 hours ahead. Europe dey change its clocks for the same direction as United States, so for most of the year the gap between both places no change.
East of Europe, the situation dey turn around. Dubai and Tokyo dey use one clock throughout the year, so dem carry the full US shift for their side. New York market open dey reach Tokyo by 22:30 under US summer clock and 23:30 under winter clock. Na change from 13 hours ahead to 14. Mumbai dey use half-hour offset: e dey 9.5 hours ahead during US summer and 10.5 during US winter.
Sydney get the biggest change, from 14 hours ahead to 16. Southern-hemisphere daylight saving dey follow the opposite part of the year, so both shifts join together instead of cancelling each other. Under US winter clock, New York market open dey reach there at 01:30 the next morning. For the first city on the table, Sao Paulo dey 1 hour ahead during US summer and 2 during US winter. Brazil stop changing its clocks for 2019.
The three weeks each spring when London dey closer
The United States and Europe no dey change clocks on the same Sunday. European Union and United Kingdom dey switch on the last Sunday for March, then switch back on the last Sunday for October, both for 01:00 UTC. US switch dey happen two or three weeks earlier for March. For the sessions wey dey between, New York don move forward but London never move, so the usual London gap reduce by one hour. Spring 2026, session by session:
The exact SQL behind every number
WITH ny_open AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
min(window_start) AS open_utc
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2026-03-02') AND toDate('2026-04-10')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) = 570
GROUP BY session_date
)
SELECT session_date AS date,
formatDateTime(session_date, '%b %e') AS date_label,
formatDateTime(toTimeZone(open_utc, 'Europe/London'), '%H:%i') AS london_local_open,
formatDateTime(toTimeZone(open_utc, 'Europe/Berlin'), '%H:%i') AS frankfurt_local_open,
round(((toHour(toTimeZone(open_utc, 'Europe/London')) * 60
+ toMinute(toTimeZone(open_utc, 'Europe/London')) + 1440 - 570) % 1440) / 60, 1) AS london_hours_ahead,
round(((toHour(toTimeZone(open_utc, 'Europe/Berlin')) * 60
+ toMinute(toTimeZone(open_utc, 'Europe/Berlin')) + 1440 - 570) % 1440) / 60, 1) AS frankfurt_hours_ahead
FROM ny_open
ORDER BY dateFrom Mar 2 reach Mar 6, New York open print 14:30 for London and 15:30 for Frankfurt, 5 and 6 hours ahead. For Mar 9, the first session after US move im clocks, the same open print 13:30 for London: 4 hours ahead, one hour closer than the week before. E remain so reach Mar 27. From Mar 30, the first session after Europe switch, London return to 5 hours and the open go back to 14:30.
Calendar reminder wey dem pin to the usual local time no correct for that period. Na the practical cost of the mismatch be that. E also move the first minutes of US trading one hour earlier into European afternoon, and those minutes dey behave differently from the rest of the day (why spreads dey widen for the open).
Autumn, na cities wey no dey change at all
For autumn, the mismatch dey happen the other way and e last one week only. Europe go move clock backward on the last Sunday for October, while United States go do am on the first Sunday for November. The panel below add Tokyo, where local clock no dey move at any time for the year.
The exact SQL behind every number
WITH ny_open AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
min(window_start) AS open_utc
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2025-10-06') AND toDate('2025-11-07')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) = 570
GROUP BY session_date
)
SELECT session_date AS date,
formatDateTime(session_date, '%b %e') AS date_label,
formatDateTime(toTimeZone(open_utc, 'Europe/London'), '%H:%i') AS london_local_open,
formatDateTime(toTimeZone(open_utc, 'Asia/Tokyo'), '%H:%i') AS tokyo_local_open,
round(((toHour(toTimeZone(open_utc, 'Europe/London')) * 60
+ toMinute(toTimeZone(open_utc, 'Europe/London')) + 1440 - 570) % 1440) / 60, 1) AS london_hours_ahead,
round(((toHour(toTimeZone(open_utc, 'Asia/Tokyo')) * 60
+ toMinute(toTimeZone(open_utc, 'Asia/Tokyo')) + 1440 - 570) % 1440) / 60, 1) AS tokyo_hours_ahead
FROM ny_open
ORDER BY dateThrough Oct 24, London dey 5 hours ahead of New York. From Oct 27, e dey 4 hours ahead, for that one week in autumn when the two cities dey closest. From Nov 3, the first session after US move clock backward, the gap measure 5 hours again.
Tokyo line tell the simpler story. Japan dey use one clock all year, and the line step exactly once, on the US date: 13 hours ahead through Oct 31, then 14 hours ahead from Nov 3, while New York open move from 22:30 to 23:30 for Tokyo clock. The whole one-hour change happen for the local side. Desk for Tokyo dey reset im own alarm two times every year, while New York bell remain where e dey.
Wetin this page no be
This page dey cover only the clock change. The questions wey dey close to am get their own pages:
- the regular session and how dem build the trading day: US stock market hours
- the windows for both sides of am: premarket and after-hours trading
- the days wey market no open or e close early: market holidays and early closes, plus stock market open today
- how the US session overlap Europe and Asia: US market hours around the world
One sentence to remember: your local open time dey shift two times every year, but the New York open no dey shift.
US market hours FAQ
US stock market hours dey change when daylight saving time change?
No. Regular session dey run from 9:30 to 16:00 Eastern Time every month for the whole year. Eastern Time label dey change from EST to EDT on the second Sunday for March, then e change back on the first Sunday for November. UTC stamp for the open dey move with am too, from 14:30 for winter clock to 13:30 for summer clock.
Which time US market dey open for UK?
14:30 London time whenever both countries dey use the same clock setup, whether both dey use summer clock or both dey use winter clock. For the weeks between the US change for March and UK change at the end of that month, market open dey come at 13:30 instead.
Which time US market dey open for Asia?
The local time dey change even though New York session no change. For 2026, New York open land for Tokyo at 22:30 when US dey use summer clock, and 23:30 when US dey use winter clock. Most of Asia dey keep one clock throughout the year, so the full one-hour shift dey show for local time.
Why London to New York gap dey change for part of March?
The two regions dey change their clocks on different Sundays: US for the second Sunday of March, while UK and EU dey change on the last Sunday. For the sessions between those dates, New York don move forward but London never move, so the gap na 4 hours instead of the usual 5.
Closing time dey move too?
The close dey use the same clock as the open, at 16:00 New York time throughout the year. Its UTC stamp dey shift by the same one hour on those same two Sundays, and every local closing time outside United States dey shift with am too.
Every figure above na stored query from real session timestamps. Open the SQL under any panel, or run the same conversion for your own city on the Strasmore terminal.