Johannesburg is situated on the highveld plateau, and has a subtropical highland climate . The city enjoys a sunny climate, with the summer months (October to April) characterised by hot days followed by afternoon thundershowers and cool evenings, and the winter months (May to September) by dry, sunny days followed by cold nights. Temperatures in Johannesburg are usually fairly mild due to the city’s high elevation, with an average maximum daytime temperature in January of 25.6 °C (78.1 °F), dropping to an average maximum of around 16 °C (61 °F) in June. The UV index for Johannesburg in summers is extreme, often reaching 14–16 due to the high elevation and its location in the subtropics.
Winter is the sunniest time of the year, with mild days and cool nights, dropping to 4.1 °C (39.4 °F) in June and July. The temperature occasionally drops to below freezing at night, causing frost. Snow is a rare occurrence, with snowfall having been experienced in the twentieth century during May 1956, August 1962, June 1964 and September 1981. In the 21st century, there was light sleet in 2006, as well as snow proper on 27 June 2007 (accumulating up to 10 centimetres or 4 inches in the southern suburbs) and 7 August 2012.
Regular cold fronts pass over in winter bringing very cold southerly winds but usually clear skies. The annual average rainfall is 713 millimetres (28.1 in), which is mostly concentrated in the summer months. Infrequent showers occur through the course of the winter months. The lowest nighttime minimum temperature ever recorded in Johannesburg is −8.2 °C (17.2 °F), on 13 June 1979. The lowest daytime maximum temperature recorded is 1.5 °C (34.7 °F), on 19 June 1964.