В ЮАР около 20-ти климатических зон. На севере — саванна, на восточном побережье — зона субтропиков, на юге, вокруг Кейптауна — настоящее Средиземноморье.
Разница среднегодовых температур между разными районами довольно значительна. Например, среднемесячная температура в Дурбане составляет +24.4°С, а в Порт-Ноллоте +12.2°С.
Поскольку ЮАР расположена в южном полушарии, времена года противоположны сезонам северного полушария.
Лето приходится на период с октября по март, и температура колеблется в среднем между 15°С ночью и 35°С в полдень. Летом (с октября по апрель) температура воздуха в Йоханнесбурге 27 °С, в Кейптауне 28 °С, в Дурбане 29 °С, температура воды в Атлантическом и Индийском океанах 24—26 °С.
Зима длится с июня по август с температурой в пределах от 0°С или даже ниже по ночам (пустыня Калахари, Дракенсберг) до 20°С в полдень.
Весна (август - сентябрь) и осень (апрель - май) короткие.
Лучшее время для посещения ЮАР — с октября по апрель.
Несмотря на региональные различия, климат в ЮАР остается в основном ровным и мягким в течение всего года. В целом ЮАР - страна с сухим климатом и низким средним годовым уровнем осадков в размере 502 мм. Снегопады ограничены вершинами самых высоких гор. Однако есть сезонные различия в некоторых провинциях.
ЮАР занимает одно из ведущих мест в мире по количеству солнечных дней в году. Температура морской воды отличается в разных районах - от прохладной 12°С-17°С в зависимости от сезона в районе Кейптауна (Атлантическое побережье) до 21°С-26°С в Квазулу Натал (Дурбан - побережье Индийского океана).
Климат города субтропический высокогорный. Климат города имеет также выраженный субэкваториальный характер: зимние месяцы ясные и прохладные, летние — влажные и тёплые. Практически все осадки в городе выпадают с октября по апрель. Самый тёплый месяц — январь, самый холодный -— июнь. Зимой средний минимум в городе примерно составляет 4 градуса, часты заморозки, а реже фиксируются небольшие морозы. Снег бывает очень редко, поскольку летом практически отсутствуют осадки.