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.
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.