In Milan, the capital of the Italian region of Lombardy, the climate is moderately continental, with cold, damp winters and hot, muggy summers.
Here are the average temperatures.
Milan - Average temperatures
Min (°C)-10471215181814940
Max (°C)691417222629292418116
Min (°F)303239455459646457483932
Max (°F)434857637279848475645243

Rainfall is well distributed over the seasons, though there is a relative minimum in winter and two relative maxima in spring and autumn. From May to August, thunderstorms can break out in the afternoon or evening. Here is the average precipitation.
Milan - Average precipitation

Winter, from December to February, is cold, damp and gray. Temperatures often remain around freezing (0 °C or 32 °F) also in the daytime, especially in December and January, and the sky remains overcast for long periods. Fog, which was once very common, has become quite rare within the city, where the so-called "urban heat island effect" also makes the temperature less cold, especially at night.
The wind is usually weak or absent, except when the Föhn blows, a warm, dry wind that comes down from the Alps and is able to bring clear skies and good visibility (a sign of its presence, in addition to mild air, is the possibility to see the snow-capped Alps).
There is a moderate amount of rainy days, even though the winter is relatively dry when compared with the other seasons. Snow usually falls at least once every year, and sometimes can be abundant, but tends to melt soon enough. In the city, because of the heat island effect, snow accumulates with more difficulty than in the surrounding countryside and in the towns of the hinterland.
Every now and then, cold air masses from Eastern Europe can bring quite intense frosts, though the temperature rarely drops below -10 °C (14 °F).
Typically, by the second half of February, the temperature tends to increase, and highs exceed quite often 10 °C (50 °F).

Spring in Milan is initially unstable, and gradually becomes a pleasant season, especially from mid-April to late May, when there are many sunny days, with mild or pleasantly warm temperatures during the day. In March, the first mild days alternate with cold days; in April, it can still be quite cold, especially in the first half of the month. Atlantic depressions, which cause rainfall, are quite frequent. In May, the first afternoon thunderstorms may occur.

Summer, from June to August, is hot and muggy, and generally sunny. The heat is felt because of high humidity and low to no wind, which are conditions typical of the Po Valley, but also to the fact that in the city, the heat is trapped between buildings (because of the aforementioned "urban heat island effect"). Sometimes an Atlantic front, able to bring cool and rainy weather, can affect this area even in summer; more often, on sunny days, thunderstorms can erupt in the afternoon or evening.

Autumn offers several nice days in September, and sometimes in early October, then quickly becomes cloudy and rainy. The first cold days typically occur in November. Overall, autumn is the rainiest season of the year. Although the number of rainy days is not too high, when it rains, the rain tends to last several hours, even the whole day.

Milan, Piazza Duomo

The amount of sunshine in Milan is low from mid-October to February, when sunshine is rare, and even when the sun comes out, it is often weak and veiled in mist. On the contrary, there is a moderate amount of sunshine hours in spring, while the sun is quite frequent in summer, except for the albeit rare rainy days and the more frequent afternoon thunderstorms. Here are the average sunshine hours per day.
Milan - Sunshine

Best Time

The best period to visit Milan is that of spring and early summer, and in particular, from mid-April to mid-June. September, too, is a good month. However, you have to take into account some rainy days in both periods.
Summer can be hot, although some days can be acceptable, especially in June. In summer, and sometimes in May, as mentioned, sudden thunderstorms in the afternoon or evening must be put into account.