{"slug":"us-market-hours-and-daylight-saving","qid":"spring_2026_offsets","label":"London and Frankfurt distance from New York, session by session, March to April 2026","post_title":"US Market Hours and Daylight Saving Time","post_url":"/blog/us-market-hours-and-daylight-saving#q-spring_2026_offsets","columns":["date","date_label","london_local_open","frankfurt_local_open","london_hours_ahead","frankfurt_hours_ahead"],"rows":[{"date":"2026-03-02","date_label":"Mar 2","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-03-03","date_label":"Mar 3","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-03-04","date_label":"Mar 4","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-03-05","date_label":"Mar 5","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-03-06","date_label":"Mar 6","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-03-09","date_label":"Mar 9","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-10","date_label":"Mar 10","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-11","date_label":"Mar 11","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-12","date_label":"Mar 12","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-13","date_label":"Mar 13","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-16","date_label":"Mar 16","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-17","date_label":"Mar 17","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-18","date_label":"Mar 18","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-19","date_label":"Mar 19","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-20","date_label":"Mar 20","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-23","date_label":"Mar 23","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-24","date_label":"Mar 24","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-25","date_label":"Mar 25","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-26","date_label":"Mar 26","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-27","date_label":"Mar 27","london_local_open":"13:30","frankfurt_local_open":"14:30","london_hours_ahead":4,"frankfurt_hours_ahead":5},{"date":"2026-03-30","date_label":"Mar 30","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-03-31","date_label":"Mar 31","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-04-01","date_label":"Apr 1","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-04-02","date_label":"Apr 2","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-04-06","date_label":"Apr 6","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-04-07","date_label":"Apr 7","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-04-08","date_label":"Apr 8","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-04-09","date_label":"Apr 9","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6},{"date":"2026-04-10","date_label":"Apr 10","london_local_open":"14:30","frankfurt_local_open":"15:30","london_hours_ahead":5,"frankfurt_hours_ahead":6}],"shape":"series","sql":"WITH ny_open AS (\n    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,\n           min(window_start) AS open_utc\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2026-03-02') AND toDate('2026-04-10')\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) = 570\n    GROUP BY session_date\n)\nSELECT session_date AS date,\n       formatDateTime(session_date, '%b %e') AS date_label,\n       formatDateTime(toTimeZone(open_utc, 'Europe/London'), '%H:%i') AS london_local_open,\n       formatDateTime(toTimeZone(open_utc, 'Europe/Berlin'), '%H:%i') AS frankfurt_local_open,\n       round(((toHour(toTimeZone(open_utc, 'Europe/London')) * 60\n               + toMinute(toTimeZone(open_utc, 'Europe/London')) + 1440 - 570) % 1440) / 60, 1) AS london_hours_ahead,\n       round(((toHour(toTimeZone(open_utc, 'Europe/Berlin')) * 60\n               + toMinute(toTimeZone(open_utc, 'Europe/Berlin')) + 1440 - 570) % 1440) / 60, 1) AS frankfurt_hours_ahead\nFROM ny_open\nORDER BY date","computed_at":"2026-08-04T14:37:37.610932+00:00","elapsed":0.003507587}