Strasmore Research
Learn am Matt ConnorBy Matt Connor

US market hours and daylight saving time na how?

US market hours stay 9:30 to 16:00 ET all year. See how daylight saving time dey 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 still 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. Wetin dey move twice every year na the local time of that market open for everybody outside United States. For some weeks every spring and autumn, the time gap 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 im session for Eastern Time. Eastern Time na wall clock wey get two names for the year: Eastern Standard Time (EST) for winter, and Eastern Daylight Time (EDT) for summer. Na the clock dey move under the session. The session itself still dey start for 9:30.

The timestamps dey show 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 every month across two years. E dey use SPY (the S&P 500 tracker) as the reference tape, then e print that same instant for both clocks.

QueryThe New York open for two clocks: month-end sessions, August 2024 to July 2026
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)
Run this yourself

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 return again for spring. Na one hour, two times every year, and the New York open no even notice.

When US clocks dey change?

Na two rules, no be two fixed dates. Clocks dey move forward one hour on the second Sunday for March, and move backward one hour on the first Sunday for November. Both changes dey 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 dey cover almost two thirds of the trading year.

Nothing about the trading day dey change on either Sunday. The session still dey open for the same wall-clock minute for New York on the Friday before and the Monday after. Wetin change na the UTC stamp for that minute: 14:30 under the winter clock against 13:30 under the summer one. Every local start time outside the United States change with am.

US market go open what time for my time zone?

Your local answer na New York 9:30 plus how far your city dey from New York. Na this distance dey change. The panel below use one real 9:30 open from US summer session for 2026 and another one from US winter session for the same year, then e convert both times into eight cities.

QueryThe 9:30 New York open for eight cities: US summer clock against US winter clock, 2026
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_summer
Run this yourself

Compare the two offset columns. London and Frankfurt get the same distance under both US regimes, 5 and 6 hours ahead. Europe dey move im clocks for the same direction as United States, and for most of the year the gap between both no dey change.

East of Europe, the picture turn around. Dubai and Tokyo dey use one clock all year, and dem carry the whole US shift for their own side. The New York open dey reach Tokyo by 22:30 for US summer clock and 23:30 for winter one. Na move from 13 hours ahead to 14. Mumbai dey use half-hour offset, 9.5 hours ahead during US summer and 10.5 during US winter.

Sydney get the biggest swing, from 14 hours ahead to 16. Southern-hemisphere daylight saving dey run the other way for the calendar, so the two shifts add together instead of cancelling. Under US winter clock, New York open dey land there by 01:30 the next morning. For the top of the table, Sao Paulo dey 1 hour ahead during US summer and 2 during US winter. Brazil stop changing im clocks for 2019.

The three weeks every spring wey London dey closer

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 come two or three weeks earlier for March. For the sessions wey dey between them, New York don already move forward but London never move, so the usual London gap reduce by one hour. Spring 2026, session by session:

QueryHow far London and Frankfurt dey from New York, session by session, March to April 2026
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 date
Run this yourself

From 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 the clocks, that same open print 13:30 for London: 4 hours ahead, one hour closer than the week before. E remain like that 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 person pin to the usual local time no correct for that period. Na the practical cost of the mismatch. 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, and the cities wey no dey change at all

For autumn, the mismatch dey happen the other way, and e last only one week. Europe dey move clock backward on the last Sunday for October, while United States dey do am on the first Sunday for November. The panel below add Tokyo, where local clock no dey move at any time during the year.

QueryHow far London and Tokyo dey from New York, session by session, October to November 2025
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 date
Run this yourself

From Oct 24 London dey 5 hours ahead of New York. From Oct 27 e dey 4 hours ahead, for the one week in autumn when the two cities dey closest. From Nov 3, the first session after US move clock backward, the gap go measure 5 hours again.

Tokyo line tell the simpler story. Japan dey use one clock throughout the year, and the line step only once, on the US date: 13 hours ahead through Oct 31, then 14 hours ahead from Nov 3, with New York open moving from 22:30 to 23:30 on Tokyo clock. The full hour land for the local side. A desk for Tokyo dey reset its own alarm two times every year, while New York bell remain where e dey.

Wetin dis page no be about

Dis page na only about when the clock change. Di questions wey dey near am get their own pages:

One sentence to remember: your local open time dey shift two times every year, but di New York open no dey shift.

FAQ about US market hours

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 dey change label from EST to EDT on the second Sunday for March, then e go return to EST on the first Sunday for November. UTC stamp for market open dey move with am, from 14:30 for winter clock to 13:30 for summer clock.

Wetin time US market dey open for UK?

14:30 London time whenever both countries dey use the same clock, whether na summer clock or winter clock. For the weeks between the US change for March and UK change at the end of that month, market open go reach 13:30 instead.

Wetin time US market dey open for Asia?

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 e dey use winter clock. Most Asian countries dey keep one clock throughout the year, so the full one-hour shift dey happen for local time.

Why London to New York gap dey change for part of March?

The two regions dey change clocks on different Sundays: US for the second Sunday of March, while UK and EU dey change am for 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 sef dey move?

The close dey follow 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 two Sundays, and every local closing time outside United States dey shift with am.


Every figure wey dey above come from stored query over real session timestamps. Open the SQL under any panel, or run the same conversion for your own city on the Strasmore terminal.

#market hours#daylight saving#time zones#trading schedule