Asia/Seoul time zone
10:43PMKST
KSTUTC+9+14 h vs New York (you)
No transitions: Asia/Seoul stays on KST (UTC+9).
About Asia/Seoul
Asia/Seoul is the IANA time zone for South Korea. It currently keeps Korean Standard Time (KST, UTC+9) all year.
Its principal location is Seoul at 37.55° N, 126.97° E.
Abbreviations in use: KST. Offset page: UTC+9.
Rule for future years (POSIX TZ string)
KST-9
The standard time is called KST and is UTC+9. POSIX writes the offset with the opposite sign (west of Greenwich is positive), which is why the string says "-9". There is no daylight saving rule: the zone stays on this offset for every year after the end of its explicit transitions. Software that has no full tzdata copy, such as many embedded devices, can use this string directly as the TZ environment variable.
History of Asia/Seoul since 1970
The record starts with local mean time (UTC+8:28), which ended on April 1, 1908. The first daylight saving time in the record is in 1948.
| Years | Clocks | Abbreviations |
|---|---|---|
| 1970–1986 | UTC+9 all year | KST |
| 1987–1988 | UTC+9 in winter, UTC+10 in summer | KST, KDT |
| 1989 onward | UTC+9 all year | KST |
Before 1970
24 offset changes before 1970 in the record:
- Wednesday, April 1, 1908: UTC+8:28 → UTC+8:30 (KST)
- Monday, January 1, 1912: UTC+8:30 → UTC+9 (JST)
- Tuesday, June 1, 1948: UTC+9 → UTC+10 (KDT), daylight saving time
- Monday, September 13, 1948: UTC+10 → UTC+9 (KST)
- Sunday, April 3, 1949: UTC+9 → UTC+10 (KDT), daylight saving time
- Sunday, September 11, 1949: UTC+10 → UTC+9 (KST)
- Saturday, April 1, 1950: UTC+9 → UTC+10 (KDT), daylight saving time
- Sunday, September 10, 1950: UTC+10 → UTC+9 (KST)
- Sunday, May 6, 1951: UTC+9 → UTC+10 (KDT), daylight saving time
- Sunday, September 9, 1951: UTC+10 → UTC+9 (KST)
- Sunday, March 21, 1954: UTC+9 → UTC+8:30 (KST)
- Thursday, May 5, 1955: UTC+8:30 → UTC+9:30 (KDT), daylight saving time
- Friday, September 9, 1955: UTC+9:30 → UTC+8:30 (KST)
- Sunday, May 20, 1956: UTC+8:30 → UTC+9:30 (KDT), daylight saving time
- Sunday, September 30, 1956: UTC+9:30 → UTC+8:30 (KST)
- Sunday, May 5, 1957: UTC+8:30 → UTC+9:30 (KDT), daylight saving time
- Sunday, September 22, 1957: UTC+9:30 → UTC+8:30 (KST)
- Sunday, May 4, 1958: UTC+8:30 → UTC+9:30 (KDT), daylight saving time
- Sunday, September 21, 1958: UTC+9:30 → UTC+8:30 (KST)
- Sunday, May 3, 1959: UTC+8:30 → UTC+9:30 (KDT), daylight saving time
- Sunday, September 20, 1959: UTC+9:30 → UTC+8:30 (KST)
- Sunday, May 1, 1960: UTC+8:30 → UTC+9:30 (KDT), daylight saving time
- Sunday, September 18, 1960: UTC+9:30 → UTC+8:30 (KST)
- Thursday, August 10, 1961: UTC+8:30 → UTC+9 (KST)
tzdata commits to accuracy from 1970 for every zone (zone1970.tab); earlier entries are historical research and may be incomplete.
Aliases and zones with the same clock
These older or country-specific IDs are links to Asia/Seoul in tzdata. Their pages redirect here: ROK.
Other zones that keep exactly the same time under the current rules (but have a different history): Asia/Chita, Asia/Dili, Asia/Jayapura, Asia/Khandyga, Asia/Pyongyang, Asia/Tokyo, Asia/Yakutsk, Pacific/Palau.
Places on Asia/Seoul
Convert Seoul time
Using Asia/Seoul in code
Every major platform reads the same IANA ID. Store instants in UTC and convert with the ID at display time; never store a fixed offset for a place that has daylight saving time.
// JavaScript
new Date().toLocaleString('en-US', { timeZone: 'Asia/Seoul' })
# Python 3.9+
from zoneinfo import ZoneInfo
from datetime import datetime
datetime.now(ZoneInfo('Asia/Seoul'))
// Java
java.time.ZonedDateTime.now(java.time.ZoneId.of("Asia/Seoul"))
// Go
loc, _ := time.LoadLocation("Asia/Seoul")
time.Now().In(loc)
-- PostgreSQL
SELECT now() AT TIME ZONE 'Asia/Seoul';
# Shell
TZ='Asia/Seoul' date Platforms ship their own copy of tzdata and update it on their own schedule. After a rule change, outputs can differ until the platform updates; this page uses tzdata 2026f.