{"slug":"us-daylight-saving-switch-lagos-time","qid":"session_clock_lagos","label":"session_clock_lagos","post_title":"us-daylight-saving-switch-lagos-time","post_url":"/blog/lang/pcm/us-daylight-saving-switch-lagos-time#q-session_clock_lagos","columns":["month","month_label","open_lagos","close_lagos","open_lagos_hours","close_lagos_hours"],"rows":[{"month":"2025-09","month_label":"Sep 2025","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"month":"2025-10","month_label":"Oct 2025","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"month":"2025-11","month_label":"Nov 2025","open_lagos":"15:30","close_lagos":"22:00","open_lagos_hours":15.5,"close_lagos_hours":22},{"month":"2025-12","month_label":"Dec 2025","open_lagos":"15:30","close_lagos":"22:00","open_lagos_hours":15.5,"close_lagos_hours":22},{"month":"2026-01","month_label":"Jan 2026","open_lagos":"15:30","close_lagos":"22:00","open_lagos_hours":15.5,"close_lagos_hours":22},{"month":"2026-02","month_label":"Feb 2026","open_lagos":"15:30","close_lagos":"22:00","open_lagos_hours":15.5,"close_lagos_hours":22},{"month":"2026-03","month_label":"Mar 2026","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"month":"2026-04","month_label":"Apr 2026","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"month":"2026-05","month_label":"May 2026","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"month":"2026-06","month_label":"Jun 2026","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"month":"2026-07","month_label":"Jul 2026","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"month":"2026-08","month_label":"Aug 2026","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"month":"2026-09","month_label":"Sep 2026","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21},{"month":"2026-10","month_label":"Oct 2026","open_lagos":"14:30","close_lagos":"21:00","open_lagos_hours":14.5,"close_lagos_hours":21}],"shape":"series","sql":"SELECT\n    formatDateTime(day, '%Y-%m')      AS month,\n    argMax(month_label, day)          AS month_label,\n    argMax(open_label, day)           AS open_lagos,\n    argMax(close_label, day)          AS close_lagos,\n    argMax(open_hours, day)           AS open_lagos_hours,\n    argMax(close_hours, day)          AS close_lagos_hours\nFROM\n(\n    SELECT\n        day,\n        formatDateTime(day, '%b %Y')                                    AS month_label,\n        formatDateTime(regular_open, '%H:%i')                           AS open_label,\n        formatDateTime(regular_close, '%H:%i')                          AS close_label,\n        round(toHour(regular_open) + toMinute(regular_open) / 60, 2)    AS open_hours,\n        round(toHour(regular_close) + toMinute(regular_close) / 60, 2)  AS close_hours\n    FROM\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 >= today() - 400\n          AND window_start <  today() - 3\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    )\n)\nGROUP BY month\nORDER BY month","computed_at":"2026-10-09T15:27:06.722260+00:00","elapsed":0.38359898}