{"slug":"us-premarket-and-after-hours-vietnam-time","qid":"lech_gio","label":"lech_gio","post_title":"us-premarket-and-after-hours-vietnam-time","post_url":"/blog/lang/vi/us-premarket-and-after-hours-vietnam-time#q-lech_gio","columns":["month","month_label","offset_hours_min","offset_hours_max","ict_open_earliest","ict_open_latest"],"rows":[{"month":"2025-07-01","month_label":"07/2025","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"},{"month":"2025-08-01","month_label":"08/2025","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"},{"month":"2025-09-01","month_label":"09/2025","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"},{"month":"2025-10-01","month_label":"10/2025","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"},{"month":"2025-11-01","month_label":"11/2025","offset_hours_min":12,"offset_hours_max":12,"ict_open_earliest":"21:30","ict_open_latest":"21:30"},{"month":"2025-12-01","month_label":"12/2025","offset_hours_min":12,"offset_hours_max":12,"ict_open_earliest":"21:30","ict_open_latest":"21:30"},{"month":"2026-01-01","month_label":"01/2026","offset_hours_min":12,"offset_hours_max":12,"ict_open_earliest":"21:30","ict_open_latest":"21:30"},{"month":"2026-02-01","month_label":"02/2026","offset_hours_min":12,"offset_hours_max":12,"ict_open_earliest":"21:30","ict_open_latest":"21:30"},{"month":"2026-03-01","month_label":"03/2026","offset_hours_min":11,"offset_hours_max":12,"ict_open_earliest":"20:30","ict_open_latest":"21:30"},{"month":"2026-04-01","month_label":"04/2026","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"},{"month":"2026-05-01","month_label":"05/2026","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"},{"month":"2026-06-01","month_label":"06/2026","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"},{"month":"2026-07-01","month_label":"07/2026","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"},{"month":"2026-08-01","month_label":"08/2026","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"},{"month":"2026-09-01","month_label":"09/2026","offset_hours_min":11,"offset_hours_max":11,"ict_open_earliest":"20:30","ict_open_latest":"20:30"}],"shape":"series","sql":"WITH opens AS\n(\n    SELECT\n        toTimeZone(window_start, 'Asia/Ho_Chi_Minh') AS ict,\n        toTimeZone(window_start, 'America/New_York') AS et\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND window_start >= toDateTime('2025-07-01 00:00:00')\n      AND window_start <  toDateTime('2026-10-01 00:00:00')\n      AND toHour(toTimeZone(window_start, 'America/New_York'))   = 9\n      AND toMinute(toTimeZone(window_start, 'America/New_York')) = 30\n)\nSELECT\n    toString(toStartOfMonth(toDate(et)))                    AS month,\n    formatDateTime(toStartOfMonth(toDate(et)), '%m/%Y')     AS month_label,\n    min((toHour(ict) - toHour(et) + 24) % 24)               AS offset_hours_min,\n    max((toHour(ict) - toHour(et) + 24) % 24)               AS offset_hours_max,\n    min(formatDateTime(ict, '%H:%i'))                       AS ict_open_earliest,\n    max(formatDateTime(ict, '%H:%i'))                       AS ict_open_latest\nFROM opens\nGROUP BY month, month_label\nORDER BY month","computed_at":"2026-10-07T15:41:07.954012+00:00","elapsed":0.003543749}