{"slug":"us-stock-market-hours-taipei-time","qid":"sessions_taipei","label":"sessions_taipei","post_title":"us-stock-market-hours-taipei-time","post_url":"/blog/lang/zh-hant/us-stock-market-hours-taipei-time#q-sessions_taipei","columns":["session_name","et_window","taipei_summer","taipei_winter","session_hours","taipei_note"],"rows":[{"session_name":"夜盤 Overnight","et_window":"20:00 - 04:00","taipei_summer":"08:00 - 16:00","taipei_winter":"09:00 - 17:00","session_hours":8,"taipei_note":"台北白天，與台股盤中並行"},{"session_name":"盤前 Pre-Market","et_window":"04:00 - 09:30","taipei_summer":"16:00 - 21:30","taipei_winter":"17:00 - 22:30","session_hours":5.5,"taipei_note":"台北傍晚到深夜"},{"session_name":"正常盤 Regular","et_window":"09:30 - 16:00","taipei_summer":"21:30 - 04:00","taipei_winter":"22:30 - 05:00","session_hours":6.5,"taipei_note":"台北深夜到隔天清晨"},{"session_name":"盤後 After-Hours","et_window":"16:00 - 20:00","taipei_summer":"04:00 - 08:00","taipei_winter":"05:00 - 09:00","session_hours":4,"taipei_note":"台北隔天清晨到上班前"}],"shape":"table","sql":"WITH us_sessions AS\n(\n    SELECT arrayJoin([\n        (1, '夜盤 Overnight',    '20:00:00', '04:00:00', '台北白天，與台股盤中並行'),\n        (2, '盤前 Pre-Market',   '04:00:00', '09:30:00', '台北傍晚到深夜'),\n        (3, '正常盤 Regular',    '09:30:00', '16:00:00', '台北深夜到隔天清晨'),\n        (4, '盤後 After-Hours',  '16:00:00', '20:00:00', '台北隔天清晨到上班前')\n    ]) AS s\n)\nSELECT\n    tupleElement(s, 2)                                                       AS session_name,\n    concat(substring(tupleElement(s, 3), 1, 5), ' - ',\n           substring(tupleElement(s, 4), 1, 5))                              AS et_window,\n    concat(\n        formatDateTime(toTimeZone(toDateTime(concat('2026-07-15 ', tupleElement(s, 3)), 'America/New_York'), 'Asia/Taipei'), '%H:%i'),\n        ' - ',\n        formatDateTime(toTimeZone(toDateTime(concat('2026-07-15 ', tupleElement(s, 4)), 'America/New_York'), 'Asia/Taipei'), '%H:%i')\n    )                                                                        AS taipei_summer,\n    concat(\n        formatDateTime(toTimeZone(toDateTime(concat('2026-12-15 ', tupleElement(s, 3)), 'America/New_York'), 'Asia/Taipei'), '%H:%i'),\n        ' - ',\n        formatDateTime(toTimeZone(toDateTime(concat('2026-12-15 ', tupleElement(s, 4)), 'America/New_York'), 'Asia/Taipei'), '%H:%i')\n    )                                                                        AS taipei_winter,\n    round(\n        modulo(\n            dateDiff('minute',\n                toDateTime(concat('2026-07-15 ', tupleElement(s, 3)), 'America/New_York'),\n                toDateTime(concat('2026-07-15 ', tupleElement(s, 4)), 'America/New_York')\n            ) + 1440, 1440) / 60.0, 1)                                       AS session_hours,\n    tupleElement(s, 5)                                                       AS taipei_note\nFROM us_sessions\nORDER BY tupleElement(s, 1)","computed_at":"2026-10-04T15:07:38.767140+00:00","elapsed":0.018941861}