Map from Google - Pakistan

In much of Pakistan the climate is tropical or subtropical, semi-arid or desert, but in the north there are also: an area near the mountains which is quite rainy, a cold mountainous area, and a frigid area on the peaks of the Himalayas.
In the cold half of the year, from late autumn to early spring, the north is reached by weather fronts of Mediterranean origin, which cause rainfall in the lowlands and snowfall in the mountains; in spring (ie March and April) the clash of air masses can cause thunderstorms and strong winds; in summer, from July to mid September, the country is reached by an offshoot of the Indian monsoon, but in most of the country it is not able to bring heavy rains, while in the western part the monsoon doesn't arrive at all. However, the warmest months are those that precede the monsoon's arrival, especially June, which is very hot in plains and hills, up to quite high altitudes.
The monsoon has an irregular pattern: in some years it may have an unusual force, generating floods, while in other years it doesn't even arrive. Rivers may overflow even at a distance from the area where the heaviest rainfall occurred, which typically happen in the north. So the great valley of the Indus and its tributaries, may also be affected by widespread flooding in the southern area, where normally it rains less.
The cycle called ENSO can affect the monsoon's performance: in the years of La Niña, rainfall is heavier than normal, while El Niño brings drought.


Mountain climate zone

In the mountainous areas of the north and west, the climate is continental, with wide temperature range between winter and summer, and often even between night and day. The temperature naturally decreases with altitude. The northern area (zone 1 on the map) as well as being the coldest at equal altitude, is more vulnerable to cold fronts related to the westerly winds of the middle latitudes, from December to May. But not all areas receive a lot of precipitation: it depends on slope exposure. The southern side (the mountains north of Peshawar and Islamabad) is much more rainy than the northern one. In Kashmir, in the northernmost valleys of Khyber-Pakhtunkhwa and the disputed region of Gilgit-Baltistan, the yearly rainfall is typical of the desert, below 250 millimetres (10 inches). Anyway, at higher altitudes there can be snowfalls quite frequently in winter, and above 4,500 metres (14,800 ft) there are vast glaciers, but the fact that the trekking season runs from April to October shows how this area is sheltered from the monsoon rains, although we cannot exclude some showers or thunderstorms, and maybe some snowfalls on the higher peaks.
In Pakistan there are two mountain ranges, the Karakoram and the Hindu Kush, which host some of the highest peaks on the planet, starting with K2, the second highest mountain in the world with its 8,611 metres (28,251 ft). The highest peak of the Hindu Kush is Tirich Mir, 7,708 metres (25,289 ft) high.
Skardu, located at 2,200 metres (7,200 ft) above sea level, is the starting point for climbing K2 and other peaks above 8,000 metres (26,200 ft); the climate here is arid continental, with an average of 3 °C (37.5 °F) in January, and 24 °C (75 °F) in July, when the average maximum reaches 30 °C (86 °F).
Here are the average temperatures of Skardu.
Average temperatures - Skardu
SkarduJanFebMarAprMayJunJulAugSepOctNovDec
SkarduJFMAMJJASOND
Min (°C)-2148111519181361-1
Max (°C)81116212629303028231610
Min (°F)283439465259666455433430
Max (°F)465261707984868682736150

In Skardu, precipitation amounts to 250 mm (10 in) per year, with a relative maximum in summer. Here is the average precipitation.
Average precipitation - Skardu
SkarduJanFebMarAprMayJunJulAugSepOctNovDecYear
SkarduJFMAMJJASONDY
Prec. (mm)1230402520253030210913247
Prec.(in)0.51.21.610.811.21.20.10.40.40.59.7
Days

Expeditions to K2 are typically organized between the second half of July and early August. K2 and other peaks over 8,000 metres (26,200 ft) have a polar climate throughout the year, with strong winds that increase the sensation of cold.

K2, Pakistan

On the southern side of the mountains, in the province of Khyber-Pakhtunkhwa (formerly North-West Frontier Province), the rains are plentiful, both those of winter and spring, which are related to western disturbances, and those of the monsoon period, which are even heavier. Therefore, the annual rainfall can exceed 1,500 mm (60 in) in the district of Abbottabad. The Ayubia National Park is definitely green and rainy.
In the south-western part of Pakistan, there are other mountain ranges (zone 2), like the Chagai Hills and the Sulaiman Mountains; here weather fronts in winter pass less frequently, and the summer monsoon barely affects them as well. The result is a semi-desert climate, cold in winter, at least at night and above a certain altitude, while summer is hot even at relatively high altitudes.
The plateau of Baluchistan (or Balochistan) has an arid continental climate as well, cold in winter and hot in summer. In Quetta, at 1,600 metres (5,250 feet) above sea level, the average of January is 4 °C (39 °F), while that of July is 28 °C (82 °F). The summer monsoon here produces little effects, with only sporadic rains. From December to March, the temperature at night usually drops below freezing (0 °C or 32 °F), but during the day it normally exceeds 10 °C (50 °F). Sometimes it can snow in winter, and at night intense frosts may occur, with lows about -15 °C (5 °F). On the other hand, in the summer months the temperature can reach 40 °C (104 °F), despite the altitude. In Quetta, the sun shines all year round. Here the best months, to avoid the weather extremes, are April and October.
Average temperatures - Quetta
QuettaJanFebMarAprMayJunJulAugSepOctNovDec
QuettaJFMAMJJASOND
Min (°C)-3-13812162018114-1-3
Max (°C)111319253036363531261913
Min (°F)273037465461686452393027
Max (°F)525566778697979588796655

In Quetta, 260 mm (10.2 in) of rain or snow fall in a year, the large part of which occurs from December to March. Here is the average precipitation.
Average precipitation - Quetta
QuettaJanFebMarAprMayJunJulAugSepOctNovDecYear
QuettaJFMAMJJASONDY
Prec. (mm)5045503093171614630262
Prec.(in)21.821.20.40.10.70.600.20.21.210.3
Days45654254221343

Quetta


Plains and hills climate zone

In the northern part of the Indo-Gangetic plain (zone A), corresponding to the region of Punjab (or Panjab), the "five rivers land", the climate is sub-tropical, with a mild and relatively rainy winter (but with cold nights), followed by a very hot period between mid-April and June, when the temperature can reach 46/47 °C (115/117 °F), and a sweltering summer, with a few rains brought by the monsoon from July to September. Before the monsoon, in May and June, a very hot wind blows, the Loo, which can bring dust storms, as well as the rapid dehydration in animals and humans, and the desiccation of vegetation. Scattered thunderstorms may occur, causing ephemeral decreases in temperature. The monsoon arrives from late June to early July, but it's not as intense as in several regions of India, and is characterized by periods of bad weather, alternating with long weeks of intense heat and drought. However, the rains, though rare, can be violent and concentrated in a few hours or even a few minutes, and when they last a few days, they can cause overflowing of rivers.
In winter, in Punjab (but also in northern Sindh), mists and fogs often form.
In Peshawar, in the northwestern region of Khyber Pakhtunkhwa, the average temperature of January is 11 °C (52 °F), that of June is 33 °C (91 °F), with highs around 40 °C (104 °F), while in July, August and September, the daytime temperature drops a little, to around 35/38 °C (95/100 °F), but at the cost of an increase in humidity. In winter, between December and February, the temperature is mild during the day, with highs around 18/20 °C (64/68 °F), but at night it often gets cold, and the temperature can drop to around freezing. Here is the average temperature.
Average temperatures - Peshawar
PeshawarJanFebMarAprMayJunJulAugSepOctNovDec
PeshawarJFMAMJJASOND
Min (°C)461116212627262316105
Max (°C)182024303640383635312620
Min (°F)394352617079817973615041
Max (°F)64687586971041009795887968

In an average year, 410 mm (16 in) of rain fall; in winter and spring, some rains may occur, with a maximum in March, of 75 mm (3 in), while the summer monsoon brings a maximum of only 70 mm (2.8 in) per month in August, although in some years the rains may be heavier: in the rainiest August ever, rainfall amounted to 450 mm (17.7 in). Here is the average precipitation.
Average precipitation - Peshawar
PeshawarJanFebMarAprMayJunJulAugSepOctNovDecYear
PeshawarJFMAMJJASONDY
Prec. (mm)30457550258457022111325412
Prec.(in)1.21.83210.31.82.80.90.40.5116.2
Days5711107489543477

In Lahore, a large metropolis in Punjab, the climate is similar to that of Peshawar, but for the more southern position, the winter is a bit milder: the average goes from 13 °C (55.5 °F) in January, to 33.5 °C (92.5 °F) in June. Lying more to the east, the city is more exposed to the monsoon, in fact it receives 510 mm (20 in) of rain per year, including 150 mm (6 in) in July and 130 mm (5.1 in) in August.

Lahore

The capital city of Pakistan, Islamabad, and the neighbouring city of Rawalpindi, are located at 500 metres (1,600 feet) above sea level, and are a bit cooler, and also much more rainy, since they are located at the foot of the mountains: in fact they receive 1,250 mm (49 in) of rain per year, including more than 250 mm (10 in) per month in July and August. Here is the average precipitation in Islamabad.
Average precipitation - Islamabad
IslamabadJanFebMarAprMayJunJulAugSepOctNovDecYear
IslamabadJFMAMJJASONDY
Prec. (mm)65951108055802752901003525451250
Prec.(in)2.63.74.33.12.23.110.811.43.91.411.849.2
Days5710108816169434100

The average temperature in January is 10.5 °C (51 °F), and at night sometimes light frosts may occur. In summer, the rains lower the daytime temperatures more than in other cities, to 33/35 °C (91/95 °F) in July and August, but moisture is high. Here are the average temperatures.
Average temperatures - Islamabad
IslamabadJanFebMarAprMayJunJulAugSepOctNovDec
IslamabadJFMAMJJASOND
Min (°C)35101520242424211483
Max (°C)181924303539353334312520
Min (°F)374150596875757570574637
Max (°F)6466758695102959193887768

The Indus Plain becomes drier in the central part (zone B), where we find the Cholistan Desert: here precipitation drops even below 100 mm (4 in) per year. In Jacobabad, in the Sindh Province, only 110 mm (4.3 in) of rain per year fall, the majority of which occurring in July and August. Here is the average precipitation.
Average precipitation - Jacobabad
JacobabadJanFebMarAprMayJunJulAugSepOctNovDecYear
JacobabadJFMAMJJASONDY
Prec. (mm)3710225372611214110
Prec.(in)0.10.30.40.10.10.21.510.40.100.24.3
Days

In Jacobabad, winter is definitely mild, given that the average in January is 14 °C (57 °F), but with significant differences between day and night, so nights can be cold, while in May and June the daytime temperatures are around 45 °C (113 °F), but sometimes they can reach as high as 50/52 °C (122/126 °F), making it one of the hottest cities in the world. The weakness of the monsoon in this area is evidenced by the fact that the maximum temperature remains around 42 °C (108 °F) in July and 40 °C (104 °F) in August, so it goes down but not by much. Here are the average temperatures in Jacobabad.
Average temperatures - Jacobabad
JacobabadJanFebMarAprMayJunJulAugSepOctNovDec
JacobabadJFMAMJJASOND
Min (°C)691521262929272517117
Max (°C)222632374445424039373124
Min (°F)434859707984848177635245
Max (°F)72799099111113108104102998875

In this area, the ruins of Mohenjo-daro, one of the oldest cities in the world, are found.

Derawar Fort

More to the south, in Hyderabad the winter temperatures are even milder, while in summer they are a little lower, because of the proximity to the sea. Precipitation is still low, and amounts to 180 mm (7 in) per year, with a peak of 60 mm (2.4 in) per month in July and August. Here are the average temperatures.
Average temperatures - Hyderabad
HyderabadJanFebMarAprMayJunJulAugSepOctNovDec
HyderabadJFMAMJJASOND
Min (°C)111419232628282725221713
Max (°C)252834394240373637373226
Min (°F)525766737982828177726355
Max (°F)778293102108104999799999079

In the south-west, at the lowest altitudes of the plateau of Baluchistan (zone C), the climate is subtropical desert; winter is mild, although sometimes at night it get cold, while summer is definitely hot. At around 800/1,000 metres (2,600/3,300 feet) above sea level, in summer the average maximum temperatures are around 40 °C (104 °F). Only in the south, there are some inland valleys around sea level: in Turbat, in the Kech River Valley, the average maximum in June is 44 °C (111 °F), which drops to 40 °C (104 °F) in July, a slight effect of the monsoon, which, however, brings very few rains, 110 mm (4.3 in) per year, of which 25 mm (1 in) in July.
Average temperatures - Turbat
TurbatJanFebMarAprMayJunJulAugSepOctNovDec
TurbatJFMAMJJASOND
Min (°C)111216212628272624201612
Max (°C)252733384344404039383227
Min (°F)525461707982817975686154
Max (°F)7781911001091111041041021009081

In the far south, along the coast of the Arabian Sea (zone D) the climate becomes tropical, desert or semi-desert, with a reduced temperature range between winter and summer. The rainfall is low, about 100 mm (4 in) per year in the western sector (ie in Makran, the coastal region of Balochistan), which receives little rainfall from the summer monsoon (but in return it receives a few rains in winter), while it becomes slightly more abundant, about 200 mm (8 in) per year, at the mouth of the Indus River, where basically the rains occur only from June to September.
In Karachi, the megalopolis at the mouth of the Indus, the average goes from 20 °C (68 °F) in January, to 30.5 °C (87 °F) in June. Here winter is pleasant and sunny. In the months preceding the monsoon there can be scorchingly hot days, with peaks of 45 °C (113 °F), but it's more common for the temperature to remain about 32/33 °C (90/91 °F), though with a high relative humidity. Here are the average temperatures.
Average temperatures - Karachi
KarachiJanFebMarAprMayJunJulAugSepOctNovDec
KarachiJFMAMJJASOND
Min (°C)141620242628272625242016
Max (°C)262629313233323131323127
Min (°F)576168757982817977756861
Max (°F)797984889091908888908881

From June to September, it doesn't rain a lot: about 160 mm (6.3 in), including 80 mm (3.2 in) in July, but even here, in certain years this season can be very rainy. In July and August, the weather is often cloudy and the heat is sweltering, especially in the interior of the city, while coastal districts receive a fairly steady breeze from the sea. Here is the average precipitation.
Average precipitation - Karachi
KarachiJanFebMarAprMayJunJulAugSepOctNovDecYear
KarachiJFMAMJJASONDY
Prec. (mm)5810507805520126203
Prec.(in)0.20.30.40.200.33.12.20.800.10.28
Days01000133100110

The temperature of the Arabian Sea is warm enough for swimming all year round, while it becomes very warm in summer.
Sea temperature - Karachi
KarachiJanFebMarAprMayJunJulAugSepOctNovDec
KarachiJFMAMJJASOND
Sea (°C)242324262829292828282725
Sea (°F)757375798284848282828177

The coastal area of Pakistan can be affected by tropical cyclones, especially in the south-east (coast of Sindh): Karachi, the large city located right on the coast, is the most at risk; sometimes the coast of Makran can be interested as well, though more rarely. Cyclones form preferably in the first phase of the monsoon (May-June), and more rarely in the phase of its retreat (September-October).

When to go

It's hard to find a period which is good for all of Pakistan. The best time to visit central and southern Pakistan (zones B, C and D, where Karachi is located) is winter, from December to February. The northernmost lowland area (Punjab, zone A, where you can find Peshawar, Lahore and Islamabad) can be visited from November to March, and if you want you can avoid the coldest months, choosing March and November.
In Quetta and in the mountain regions of the west (zone 2), April and October can be chosen, bearing in mind that it can get cold at night.
Even for the mountains of the north (zone 1), you can choose spring and autumn, but since spring on the south side is rainy, you may prefer autumn, in particular October and November. For the north side, in the high mountain areas of the Hindu Kush and the Karakoram, you may prefer the summer, from June to September.
All in all, wanting to find a single period for the whole country, you can choose autumn, especially October and November, which is usually a dry and quiet season. October can still be hot in the centre and south, and there's still some risk of cyclones in the coastal area, while in November it can get cold at night in Quetta and in the mountainous areas.
As we have seen, the sea is warm throughout the year. For swimming, however, the air can be a bit cool from December to February, therefore you can choose March and November.

What to pack

In winter: for the north at low altitude (Lahore, Peshawar, Islamabad and Rawalpindi), spring/autumn clothes, sweater and warm jacket for the evening; raincoat or umbrella especially in Islamabad and Rawalpindi; above a thousand metres (3,300 feet, see Abbottabad), warm clothes, sweater, warm jacket, raincoat or umbrella. In Kashmir, above 3,000 metres (9,800 ft), mountain clothes, down jacket, hat, scarf, gloves. In the centre and south (Jacobabad, Sukkur, Hyderabad), spring/autumn clothes, a sweater and a jacket for the evening. On the southern coast (Lahore), spring/autumn clothes, light for the day, light jacket and sweater for the evening. For Quetta and the western mountains, around 1,500 metres (5,000 feet), warm clothes, sweater, down jacket, hat.

In summer: for all areas at low altitude, from Islamabad to Karachi, tropics-friendly, loose fitting clothing, sun hat, desert turban, possibly a light raincoat or umbrella, more useful in the north, at the foot of the mountains; above 1,000 metres (3,300 feet, see Quetta, Abbottabad), a sweatshirt for the evening. For Kashmir, around 3,000 metres (9,800 ft), spring/autumn clothes, light for the day, sun hat, sunglasses, sweater and jacket for the evening; for higher altitudes, warmer clothes depending on altitude.
For women, it's best to avoid low-cut dresses.
To visit mosques, men must keep their shoulders and knees covered, and bare feet, while women should also cover their hair.