Auckland time zone — UTC+12:00 right now (NZST)
Auckland, New Zealand, is currently on NZST (UTC+12:00) — 12 hours ahead of UTC. Use Pacific/Auckland in code, never the abbreviation and never a hard-coded offset.
The identifier to put in your code
NZST 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.
This page also answers to AKL — every one of them redirects here.
Daylight saving
Pacific/Auckland is on NZST (UTC+12:00) — its standard clock.
next change: Sunday, 27 September 2026, 03:00 local → NZDT (44 days away, clocks go forward 60 minutes)
Computed from the IANA tz database at the moment you loaded this page, not from a date we typed in — if the rules change, this line changes with them.
A timestamp from Auckland, in every format rendered in this zone · copy any row
| Format | Value | Copy |
|---|---|---|
ISO 8601 (local, with offset) What a timestamp from this zone should look like |
2026-08-13T17:34:26+12:00 | |
RFC 3339 (local) The JSON-API form, offset preserved |
2026-08-13T17:34:26+12:00 | |
ISO 8601 (UTC) The same instant, normalised to UTC |
2026-08-13T05:34:26Z | |
Unix timestamp Identical everywhere — epoch time has no timezone |
1786599266 | |
Unix milliseconds Also zone-independent |
1786599266916 | |
RFC 2822 (local) Email Date: header from this zone |
Thu, 13 Aug 2026 17:34:26 +1200 | |
Date (local) Calendar date here, which can differ from UTC |
2026-08-13 | |
Time (local, 24-hour) Wall-clock time here |
17:34:26 | |
Time (local, 12-hour) Wall-clock time with AM/PM |
05:34:26 PM | |
UTC offset Current offset, including any daylight saving |
+12:00 | |
IANA identifier The only form you should hard-code |
Pacific/Auckland | |
ISO week date (local) Year-week-weekday here |
2026-W33-4 |
Get the current time in Auckland using the IANA name
from datetime import datetime
from zoneinfo import ZoneInfo
now = datetime.now(ZoneInfo("Pacific/Auckland"))
print(now.isoformat()) # local time with offset
print(now.tzname()) # current abbreviation
print(int(now.timestamp())) # unix — same number everywhere
const tz = 'Pacific/Auckland';
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));
loc, err := time.LoadLocation("Pacific/Auckland")
if err != nil { log.Fatal(err) }
now := time.Now().In(loc)
fmt.Println(now.Format(time.RFC3339))
import java.time.*;
ZonedDateTime now = ZonedDateTime.now(ZoneId.of("Pacific/Auckland"));
System.out.println(now); // with offset
System.out.println(now.toInstant()); // UTC instant
var tz = TimeZoneInfo.FindSystemTimeZoneById("Pacific/Auckland");
var now = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, tz);
Console.WriteLine(now.ToString("o"));
// chrono = "0.4", chrono-tz = "0.9"
use chrono::Utc;
use chrono_tz::Tz;
let tz: Tz = "Pacific/Auckland".parse().unwrap();
let now = Utc::now().with_timezone(&tz);
println!("{}", now.to_rfc3339());
$now = new DateTimeImmutable('now', new DateTimeZone('Pacific/Auckland'));
echo $now->format(DATE_ATOM), PHP_EOL;
SELECT now() AT TIME ZONE 'Pacific/Auckland' AS local_time,
extract(epoch FROM now())::bigint AS unix_seconds;
TZ='Pacific/Auckland' date +"%Y-%m-%dT%H:%M:%S%z"
TZ='Pacific/Auckland' date # human readable
Convert
Nearby
Same zone (Pacific/Auckland) — identical offset, always:
Elsewhere in New Zealand: