{"slug":"us-daylight-saving-switch-lagos-time","qid":"fall_back_2025","label":"fall_back_2025","post_title":"us-daylight-saving-switch-lagos-time","post_url":"/blog/lang/pcm/us-daylight-saving-switch-lagos-time#q-fall_back_2025","columns":["session_date","day_label","weekday","open_lagos","close_lagos","open_lagos_hours","close_lagos_hours"],"rows":[{"session_date":"2025-10-27","day_label":"27 Oct 2025","weekday":"Mon","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"session_date":"2025-10-28","day_label":"28 Oct 2025","weekday":"Tue","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"session_date":"2025-10-29","day_label":"29 Oct 2025","weekday":"Wed","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"session_date":"2025-10-30","day_label":"30 Oct 2025","weekday":"Thu","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"session_date":"2025-10-31","day_label":"31 Oct 2025","weekday":"Fri","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"session_date":"2025-11-03","day_label":"3 Nov 2025","weekday":"Mon","open_lagos":"15:30","close_lagos":"22:00","open_lagos_hours":15.5,"close_lagos_hours":22},{"session_date":"2025-11-04","day_label":"4 Nov 2025","weekday":"Tue","open_lagos":"15:30","close_lagos":"22:00","open_lagos_hours":15.5,"close_lagos_hours":22},{"session_date":"2025-11-05","day_label":"5 Nov 2025","weekday":"Wed","open_lagos":"15:30","close_lagos":"22:00","open_lagos_hours":15.5,"close_lagos_hours":22},{"session_date":"2025-11-06","day_label":"6 Nov 2025","weekday":"Thu","open_lagos":"15:30","close_lagos":"22:00","open_lagos_hours":15.5,"close_lagos_hours":22},{"session_date":"2025-11-07","day_label":"7 Nov 2025","weekday":"Fri","open_lagos":"15:30","close_lagos":"22:00","open_lagos_hours":15.5,"close_lagos_hours":22}],"shape":"series","sql":"SELECT\n    toString(day)                                                   AS session_date,\n    formatDateTime(day, '%e %b %Y')                                 AS day_label,\n    formatDateTime(day, '%a')                                       AS weekday,\n    formatDateTime(regular_open, '%H:%i')                           AS open_lagos,\n    formatDateTime(regular_close, '%H:%i')                          AS close_lagos,\n    round(toHour(regular_open) + toMinute(regular_open) / 60, 2)    AS open_lagos_hours,\n    round(toHour(regular_close) + toMinute(regular_close) / 60, 2)  AS close_lagos_hours\nFROM\n(\n    SELECT\n        toDate(toTimeZone(window_start, 'America/New_York'))                AS day,\n        toTimeZone(min(window_start), 'Africa/Lagos')                       AS regular_open,\n        toTimeZone(max(window_start) + toIntervalMinute(1), 'Africa/Lagos') AS regular_close\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND window_start >= toDateTime('2025-10-27 04:00:00')\n      AND window_start <  toDateTime('2025-11-08 05:00:00')\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960\n    GROUP BY day\n    HAVING count() >= 380\n)\nORDER BY day","computed_at":"2026-10-09T15:27:06.811053+00:00","elapsed":0.003956883}