Les saisons sont inversées par rapport à l'Europe : été, de novembre à mars (Noël se fête donc au moment le plus chaud de l'année !) ; automne, en avril et mai ; hiver, de juin à août ; printemps, en septembre et octobre.
Pour nous, chaque saison a son intérêt :
- l'hiver austral est la meilleure période pour les safaris (la végétation étant moins dense, les animaux sont plus visibles) ;
- l'été est idéal pour visiter la côte (du Cap à Port-Elizabeth) ; outre celles du Cap, des plages aménagées se trouvent au sud de Durban ;
- au printemps, les températures sont encore clémentes ;
- d'avril à juin, elles sont très agréables ; c’est une saison délicieuse.
Le climat est de type méditerranéen autour du Cap et tropical dans le nord. Alors que la côte est est exposée aux masses d'air humide venues de l'océan Indien, le littoral atlantique est aride.
Malgré des écarts de température selon les régions, le temps est favorable toute l'année. Même si l'on observe quelques chutes de neige sur les sommets les plus élevés, l'Afrique du Sud est un pays sec et chaud, qui compte de nombreuses journées d'ensoleillement. Les précipitations annuelles sont de l'ordre de 500mm.
La province du KwaZulu-Natal connaît un climat subtropical, avec un taux d'hygrométrie important l’été. La partie méridionale du Mpumalanga a, elle, des étés très chauds, avec parfois des orages violents ; tandis que la partie septentrionale de la région (le Lowveld) bénéficie d'hivers doux.
Dans la région de Johannesburg, les températures ne sont jamais excessives. L’été y est très agréable : de novembre à février, les pluies sont abondantes mais surviennent essentiellement en fin de journée. Durant l’hiver, sec et ensoleillé, il fait assez bon dans la journée mais les nuits sont froides.
La côte du Natal, au nord de Durban, est la principale région balnéaire du pays. On peut s’y baigner toute l’année (la température de la mer est de 20°C en hiver et d’environ 24°C en été, mais il peut faire un peu frais l’hiver, et l’été est une saison assez pluvieuse.
Sur la chaîne des Drakensberg et au Lesotho, la température baisse avec l’altitude ; il peut neiger en juillet et août.