utc now / zones / seoul

Seoul time zone — UTC+09:00 right now (KST)

Seoul, South Korea, is currently on KST (UTC+09:00) — 9 hours ahead of UTC. Use Asia/Seoul in code, never the abbreviation and never a hard-coded offset.

Seoul · Asia/Seoul
16:41:51
Thursday, 13 August 2026 · KST · UTC+09:00
vs
Coordinated Universal Time · UTC
07:41:51
Thursday, 13 August 2026 · UTC · UTC+00:00

The identifier to put in your code

IANA time zone identifier
Asia/Seoul
GET /api/now/Asia/Seoul

KST is a label, not an identifier. Abbreviations are unregistered, they collide across regions, and no date library resolves them reliably. The IANA name carries the full history of this place's offset and daylight-saving rule changes, so code written against it keeps working when a government moves the clocks.

Shortcut: this page is utctime.app/seoul, and it also answers to /sel/icn/gmp — type any of them straight into the address bar. See every city and code →

Daylight saving

Asia/Seoul is on KST (UTC+09:00) — its standard clock.

no clock change scheduled — fixed at UTC+09:00 all year

Conversions involving this zone only shift when the other side changes its clocks.

A timestamp from Seoul, in every format rendered in this zone · copy any row

FormatValueCopy
ISO 8601 (local, with offset)
What a timestamp from this zone should look like
2026-08-13T16:41:51+09:00
RFC 3339 (local)
The JSON-API form, offset preserved
2026-08-13T16:41:51+09:00
ISO 8601 (UTC)
The same instant, normalised to UTC
2026-08-13T07:41:51Z
Unix timestamp
Identical everywhere — epoch time has no timezone
1786606911
Unix milliseconds
Also zone-independent
1786606911606
RFC 2822 (local)
Email Date: header from this zone
Thu, 13 Aug 2026 16:41:51 +0900
Date (local)
Calendar date here, which can differ from UTC
2026-08-13
Time (local, 24-hour)
Wall-clock time here
16:41:51
Time (local, 12-hour)
Wall-clock time with AM/PM
04:41:51 PM
UTC offset
Current offset, including any daylight saving
+09:00
IANA identifier
The only form you should hard-code
Asia/Seoul
ISO week date (local)
Year-week-weekday here
2026-W33-4
The Unix timestamp does not change here. Epoch time counts seconds since 1970-01-01T00:00:00Z and is the same integer at the same instant everywhere on Earth. Only the rendering above is local — which is exactly why storing epoch integers makes timezone bugs disappear, and storing bare local strings creates them.

Get the current time in Seoul using the IANA name

Python
from datetime import datetime
from zoneinfo import ZoneInfo

now = datetime.now(ZoneInfo("Asia/Seoul"))
print(now.isoformat())      # local time with offset
print(now.tzname())         # current abbreviation
print(int(now.timestamp())) # unix — same number everywhere
JavaScript
const tz = 'Asia/Seoul';
const now = new Date();
console.log(now.toLocaleString('en-GB', { timeZone: tz }));
// ISO 8601 with the zone's offset:
console.log(new Intl.DateTimeFormat('sv-SE', { timeZone: tz,
  dateStyle: 'short', timeStyle: 'medium' }).format(now));
Go
loc, err := time.LoadLocation("Asia/Seoul")
if err != nil { log.Fatal(err) }
now := time.Now().In(loc)
fmt.Println(now.Format(time.RFC3339))
Java
import java.time.*;

ZonedDateTime now = ZonedDateTime.now(ZoneId.of("Asia/Seoul"));
System.out.println(now);                  // with offset
System.out.println(now.toInstant());      // UTC instant
C#
var tz = TimeZoneInfo.FindSystemTimeZoneById("Asia/Seoul");
var now = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, tz);
Console.WriteLine(now.ToString("o"));
Rust
// chrono = "0.4", chrono-tz = "0.9"
use chrono::Utc;
use chrono_tz::Tz;

let tz: Tz = "Asia/Seoul".parse().unwrap();
let now = Utc::now().with_timezone(&tz);
println!("{}", now.to_rfc3339());
PHP
$now = new DateTimeImmutable('now', new DateTimeZone('Asia/Seoul'));
echo $now->format(DATE_ATOM), PHP_EOL;
SQL — PostgreSQL
SELECT now() AT TIME ZONE 'Asia/Seoul' AS local_time,
       extract(epoch FROM now())::bigint AS unix_seconds;
Bash
TZ='Asia/Seoul' date +"%Y-%m-%dT%H:%M:%S%z"
TZ='Asia/Seoul' date          # human readable

Convert

Looking for sunrise, day length or a meeting overlap? That is the consumer view, and it lives on our sibling site. worldclock.free/seoul. This page stays focused on offsets, identifiers and formats.

Nearby

Same zone (Asia/Seoul) — identical offset, always:

Elsewhere in South Korea:

Seoul time zone questions

What is the UTC offset in Seoul right now?
Seoul is UTC+09:00 — 9 hours ahead of UTC. The abbreviation currently in force is KST, and the local time is 16:41 on Thursday, 13 August 2026.
Which timezone identifier should I use for Seoul in code?
Asia/Seoul. Pass that string to ZoneInfo in Python, ZoneId.of in Java, time.LoadLocation in Go, or the timeZone option of Intl.DateTimeFormat in JavaScript. Do not store UTC+09:00 as a fixed offset and do not store the abbreviation KST — the offset changes with the seasons and with the law, and the identifier is what carries those rules.
Does Seoul observe daylight saving time?
No. Asia/Seoul stays on UTC+09:00 all year, so any conversion involving it only moves when the OTHER side of the conversion changes its clocks.
Does the Unix timestamp change in Seoul?
No — and this is the most common misconception about timezones. A Unix timestamp counts seconds since 1970-01-01T00:00:00Z and is the same integer at the same instant everywhere on Earth. Only the rendering changes. If your database stores an epoch integer you have no timezone problem; if it stores '2026-01-01 09:00:00' with no offset, you do.
What airport and city codes point at Seoul?
This page also answers to SEL, ICN, GMP. They all redirect here, because Seoul has one canonical page rather than one per code.

Keyboard shortcuts

cCopy the ISO 8601 timestamp
uCopy the Unix timestamp
/Focus the timezone search
tToggle light and dark
?This help
EscClose