Peshawar has a semi-arid continental climate with clearly defined seasons. The best time to visit is October to March, when temperatures are mild — typically 10–20°C (50–68°F) — and the skies are clear. This is also the season when the bazaars fill with produce from the Khyber and Afghanistan: fresh pomegranates, walnuts, and dried apricots.
April to June brings increasingly hot weather; by May and June temperatures regularly exceed 40°C (104°F). July to September is the monsoon period, though Peshawar catches less rain than most of Pakistan — heat and humidity are the main discomforts.
Ramadan affects opening hours significantly: restaurants close during daylight hours, and business slows considerably. After sunset, the old city comes alive with iftar stalls and extended trading hours.
The two Eid festivals — Eid al-Fitr (end of Ramadan) and Eid al-Adha (70 days later) — are lively occasions in the old city but can complicate travel as intercity transport fills up.