Africa is mostly tropical and subtropical through the distance of the equator. South Africa is one of the few countries with more than one ocean on its shores: the Atlantic and Indian Ocean. Some parts of South Africa are cooler through this phenomenon.
If you want to dive in South Africa, you can do that all year round. In the months July to September the water temperature is 16°C at the Indian Ocean and 8°C at the Atlantic Ocean. During the other months the water temperature is 20°C at the Indian Ocean and 14°C at the Atlantic Ocean.