Map from Google - Sardinia

In Sardinia, an island of Southern Italy, the climate is Mediterranean, with mild and fairly rainy winters, and hot and sunny summers, a bit sultry but tempered by sea breezes. On coasts and plains, the average temperature of January and February is about 10 °C (50 °F), while that of July and August is about 25 °C (77 °F).
The rains are not abundant, given that they typically fluctuate from 400 to 550 millimetres (15.5 to 21.5 inches) per year on the coast (but locally they can drop even below, for instance in the southeastern tip of the island), and follow the Mediterranean pattern, that is, they are more common in autumn and winter, they gradually decrease during spring, and hit a low in summer, when it almost never rains. In inland areas, rainfall locally exceeds 700 millimetres (27.5 inches) per year in hilly areas, and 1,000 mm (40 in) in the mountains.
Here is the average precipitation in Cagliari, the main city, situated on the coast, in the southern part of the island.
Average precipitation - Cagliari
CagliariJanFebMarAprMayJunJulAugSepOctNovDecYear
CagliariJFMAMJJASONDY
Prec. (mm)45554535251031030555555425
Prec. (in)1.82.21.81.410.40.10.41.22.22.22.216.7
Days88764211468862

Sardinia is a windy island, especially from October to April, because of the Maestrale, the northwest wind, which blows from France (where it is called Mistral), and affects particularly the western part and the Strait of Bonifacio, but also because of the "Ponente", which blows from the west. In summer, sea breezes blow, but they are welcome because they make the heat more bearable; on other occasions, the "Scirocco" can blow from the south-east, bringing heat waves from Africa, which are felt mainly in inland plains and valleys, with peaks of 40 °C (104 °F) and more.
In the interior, the climate becomes gradually colder with increasing altitude, as there are hills and mountains, and as mentioned in some areas the rains are also more abundant, so that thick forests are found. The highest peak, 1,834 metres (6,017 feet) high, is located in the the Gennargentu Massif, where in winter snowfalls are quite frequent.

Gennargentu

The island is quite sheltered from cold waves; along the coasts and in the plains, snowfall is quite rare, but can occur in the coldest winters (as happened in January 1985 and February 2012), more easily in the north of the island. An exception is Costa Smeralda ("Emerald Coast", see Olbia), in the northeast, where snowfalls, though usually not abundant, are a bit more frequent. Night frosts in the plains are rare, and when they occur, they are light: generally the temperature does not drop below -2/-3 °C (27/28 °F). In inland areas instead, already at hill altitudes (see Nuoro, Macomer, Tempio Pausania), snow is relatively more frequent and abundant.
Here are the average temperatures of Alghero, located on the coast, in the north-west of the island.
Average temperatures - Alghero
AlgheroJanFebMarAprMayJunJulAugSepOctNovDec
AlgheroJFMAMJJASOND
Min (°C)667812151718161397
Max (°C)141416182226293027221815
Min (°F)434345465459636461554845
Max (°F)575761647279848681726459

In the small islands and the the most exposed coasts, the climate is particularly mild. Here, for example, the average temperature of Guardiavecchia, in the island of La Maddalena, where 470 mm (18.5) of rain per year fall, with a maximum in December of 75 mm (2.9 in), and a minimum in July of 12 mm (0.45 in).
Average temperatures - Guardiavecchia
GuardiavecchiaJanFebMarAprMayJunJulAugSepOctNovDec
GuardiavecchiaJFMAMJJASOND
Min (°C)88910141720201815119
Max (°C)131314161923272724201613
Min (°F)464648505763686864595248
Max (°F)555557616673818175686155

In inland plains, the climate becomes slightly more continental. Here, for example, the average temperature of Decimomannu, about 20 kilometres (12 miles) north-west of Cagliari.
Average temperatures - Decimomannu
DecimomannuJanFebMarAprMayJunJulAugSepOctNovDec
DecimomannuJFMAMJJASOND
Min (°C)456811151819161396
Max (°C)141517192428323228231815
Min (°F)394143465259646661554843
Max (°F)575963667582909082736459

As we said, at higher altitudes the weather gets colder. Here are the average temperatures of Fonni, located north of Gennargentu, at 1,000 metres (3,300 feet) of altitude.
Average temperatures - Fonni
FonniJanFebMarAprMayJunJulAugSepOctNovDec
FonniJFMAMJJASOND
Min (°C)22359131617131063
Max (°C)771012172226262216119
Min (°F)363637414855616355504337
Max (°F)454550546372797972615248

The sunshine amount in Sardinia is very good in summer, especially along the coast, when clear skies prevail, while it's not so high from November to February; however, some sunny periods can occur also in winter.
Here are the average sunshine hours per day in Cagliari.
Sunshine - Cagliari
CagliariJanFebMarAprMayJunJulAugSepOctNovDec
CagliariJFMAMJJASOND
Sun (hours)456791011108654

Caprera

The temperature of the sea is fairly uniform in the island, and just lower in the western part; the sea is warm enough for swimming from July to September; in June and October it's instead a bit cool. Here, for example, the temperature of the sea at Porto Cervo, on Costa Smeralda.
Sea temperature - Porto Cervo
Porto CervoJanFebMarAprMayJunJulAugSepOctNovDec
Porto CervoJFMAMJJASOND
Sea (°C)141414141720232523201815
Sea (°F)575757576368737773686459

When to go

For beach life, the best time to visit Sardinia is summer, from June to August. For swimming, the best time is from July to September, although in September, which in any case is still a good month (especially in the first half), the first periods of bad weather occur. In June, as mentioned the sea is still a bit cool, while in May it's even cold, and sometimes the air can be a little cold for sunbathing as well.
April and May are advisable for hiking and for visiting cities, while in summer it can sometimes be too hot to get around with ease. In October, temperatures are mild or pleasantly warm, but the days are shorter and the weather can be rainy and windy.