Map from Google - Milan

In Milan, capital of the Italian region of Lombardy, the climate is moderately continental, with cold and damp winters, and hot and muggy summers.
Here are the average temperatures.
Average temperatures - Milan
MilanJanFebMarAprMayJunJulAugSepOctNovDec
MilanJFMAMJJASOND
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.
Average precipitation - Milan
MilanJanFebMarAprMayJunJulAugSepOctNovDecYear
MilanJFMAMJJASONDY
Prec. (mm)65658080956570957010010060945
Prec. (in)2.62.63.13.13.72.62.83.72.83.93.92.437.2
Days77888867579686

Winter, from December to February, is cold, wet and gray. Temperatures often remain around freezing (0 °C or 32 °F) also in the daytime, and the sky remains overcast for long periods. Fog, 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 and 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's no shortage of rainy days, even though the winter is relatively dry 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, snow accumulates with more difficulty than in the surrounding countryside and in the hinterland towns.
Every now and then, cold air masses from Eastern Europe can bring fairly intense frosts, though the temperature rarely drops below -10 °C (14 °F).
Typically, from 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 due to high humidity and low or 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. Sometimes an Atlantic front, able to bring cool and rainy weather, can pass also in summer; more often, on sunny days, thunderstorms can erupt in the afternoon and in the evening.

Autumn offers several nice days in September, and sometimes on 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's no shortage of sunshine in spring, while it is quite frequent in summer, except for the albeit rare rainy days and the more frequent afternoon thunderstorms.

When to go

The best period to visit Milan is that of spring and early summer, 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, sudden thunderstorms in the afternoon or evening must be put into account.