La mayor parte del país tiene un clima subtropical, con temperaturas más frías que prevalecen en las altitudes más altas. Los días de invierno son cálidos y las noches frescas, con fuertes heladas comunes en el desierto.
Las temperaturas van desde máximos de 33 grados en enero y 22 grados en julio hasta los valores promedio mínimos de 18 grados en enero y 5 grados en julio. En agosto comienzan los vientos estacionales que soplan desde el oeste y transportan arena y polvo por todo el país. Las precipitaciones normalmente promedian 45 cm pero varían desde 69 cm en el norte hasta menos de 25 cm en el Kalahari.