Africa/Johannesburg

Africa/Johannesburg covers Johannesburg, Cape Town, Durban and the rest of South Africa, at +02:00 standard time, with no daylight saving time.

Loading tool…

Worked examples

  • A winter instant in Africa/Johannesburg

    Africa/Johannesburg's UTC offset and DST status on a January date, converted to UTC.

  • A summer instant in Africa/Johannesburg

    Africa/Johannesburg's UTC offset and DST status on a July date, converted to UTC — compare against the winter example to see any DST shift.

  • Converting Africa/Johannesburg to America/New_York

    A worked conversion from Africa/Johannesburg to America/New_York for a specific instant.

TZ identifier and aliases

Africa/Johannesburg is the canonical identifier for South African Standard Time. Africa/Maseru (Lesotho) and Africa/Mbabane (Eswatini) currently share identical rules and are folded into the same entry — both countries are enclosed by or border South Africa and have kept synchronized clocks for practical trade and travel reasons rather than any formal treaty.

UTC offset and DST rule

Africa/Johannesburg is +02:00 year-round with no daylight saving time. South Africa has never observed DST since standardizing its national time, so there's no seasonal clock change to account for in any system built against this zone.

Using it in cron, CI and Postgres

Set TZ=Africa/Johannesburg for a process that should schedule by South African local time. Postgres accepts it via SET TIME ZONE 'Africa/Johannesburg'; or the timezone setting. Because the offset never changes, a cron job's local-time schedule behaves identically every day of the year, with no DST boundary or skipped/duplicated hour to plan around — a meaningful simplicity for any system coordinating with South Africa's outsized role as a financial and tech hub for the rest of the African continent.

History and quirks

South Africa adopted a single standard time in 1892, based on the 30°E meridian, unifying what had previously been a set of locally-defined times across the Cape Colony, Natal, the Transvaal and the Orange Free State in the years before those territories merged into one country. The +02:00 offset was deliberately chosen to sit exactly two hours ahead of GMT with no daylight saving adjustment ever applied, even during the country's period of British colonial administration when the UK itself was actively experimenting with DST — a consistency that's held for well over a century. Lesotho and Eswatini, both small nations entirely or substantially enclosed by South African territory, have never maintained independent time zones from their much larger neighbor, making Africa/Johannesburg the de facto standard time for a wider swath of southern Africa than South Africa's own borders alone.

South Africa's low latitude, spanning roughly 22°S to 35°S, keeps seasonal day-length variation modest even in its southernmost provinces — nowhere near the extremes seen in Europe or Canada — which is the main practical reason DST has never gained serious political traction, unlike in neighboring countries at similar latitudes that have occasionally floated the idea without adopting it. +02:00 also happens to be a convenient middle point between European and East Asian business hours, part of why Johannesburg and Cape Town have grown as regional headquarters for multinational companies serving both markets from a single office, with no DST-related schedule adjustment to coordinate around twice a year the way European or North American counterparts must.

Offsets and DST transitions on this page are computed from the IANA time zone database bundled with your browser; the rules described above were verified against tzdata 2026b when this page was published.

Frequently asked questions

Does Africa/Johannesburg observe DST?
No — Africa/Johannesburg keeps a fixed +02:00 offset from UTC all year, with no seasonal clock change.
What is the UTC offset of Africa/Johannesburg in winter/summer?
Africa/Johannesburg is +02:00 year-round — the same offset applies in every season.
Which cities use Africa/Johannesburg?
Johannesburg, Cape Town, Durban, Pretoria all use the Africa/Johannesburg zone — also commonly known as South Africa Time — along with the rest of South Africa.
What is the deprecated alias for this zone?
Africa/Johannesburg has no widely-used deprecated alias, though Africa/Maseru is a separate IANA identifier that currently shares identical rules.