Johannesburg, where it's located

In Johannesburg, the largest city of South Africa, the climate is subtropical, with mild and sunny winters (when, however, nights are cold) and pleasantly warm summers, usually sunny, but with some afternoon thunderstorms. The city is located near the Tropic, but also on a plateau at 1,700 meters (5,600 feet) above sea level, so the climate is tempered by altitude, and it's pleasant and healthy (even though the city is polluted).
Being that the city is in the Southern Hemisphere, the seasons are reversed in comparison with Europe or North America.
The average temperature goes from 10 °C (50 °F) in June and July, to 21 °C (70 °F) in January. Here are the average temperatures.
Johannesburg - Average temperatures
MonthJanFebMarAprMayJunJulAugSepOctNovDec
Min (°C)1514131052258111314
Max (°C)272625232118182124252526
Min (°F)595755504136364146525557
Max (°F)817977737064647075777779

Rainfall amounts to 700 millimeters (27.5 inches) per year and is concentrated in the warm period, from October to March, when the rains occur in the form of downpours or thunderstorms. On the contrary, winter is a dry season, with rare and sporadic rains. Here is the average precipitation.
Johannesburg - Average precipitation
MonthJanFebMarAprMayJunJulAugSepOctNovDecYear
Prec.(mm)1259090501510552575110105705
Prec.(in)4.93.53.520.60.40.20.2134.34.127.8
Days1410118321249131491

Winter, from May to August, is mild and sunny during the day, but nights are cold; in the coldest months, June and July, the minimum temperature is near freezing (0 °C or 32 °F), especially in the outskirts of the city and in the countryside, where light frosts can occur. In the daytime, however, when the sun usually shines, the air is mild, and the maximum temperature hovers around 18/20 °C (64/68 °F). In August, the temperature already begins to increase a bit.
Every once in a while, however, cold air masses arrive here from the south, and in these cases the maximum temperature can remain around 10 °C (50 °F).
Since winter is a dry season, and as mentioned during the day the air is usually mild, snow is a very rare phenomenon; sometimes, however, there can be a bit of light snow in the early morning. Snowfalls with accumulation on the ground, however, are not impossible, and occurred in May 1956, in August 1962, in June 1964, in September 1981, and more recently on June 28, 2007, and on August 7, 2012. In nearby Pretoria, located at a bit lower altitude, snow is even more rare.

Summer, from November to March, is pleasantly warm, with cool nights, and possible showers and thunderstorms in the afternoon or in the evening. Hot days are rare, in fact the temperature rarely exceeds 30 °C (86 °F), but the tropical sun at high altitudes is very strong, so it requires appropriate protection.

Spring and autumn are mild and sunny, although sometimes in April and September it can get cold at night, while in October there's often summer-like weather, warm during the day, and with the first thunderstorms.

Johannesburg

Since the sky is usually clear, the amount of sunshine in Johannesburg is very good throughout the year, even though the relatively least sunny season is the summer because of showers and thunderstorms, which, however, do not last long and soon give way to the sun. There are as many as 3,100 hours of sunshine per year.
Johannesburg - Sunshine
MonthJanFebMarAprMayJunJulAugSepOctNovDec
Hours888899999989

Best Time


The best months to visit Johannesburg are probably April, September and October, since they are mild months, not as rainy as summer and not as cold as winter. However, on closer view, Johannesburg can be visited throughout the year, since the summer is not too hot and it's sunny, even though it is disturbed by thunderstorms, while the winter is nearly always mild and sunny during the day, although nights are often cold. The choice may therefore depend on the itinerary: for example, if you want to visit the Kruger Park, in the north-east of South Africa, you can choose winter, from June to August, a period that in the south of the country can be a bit cold and also rainy.