Weather
The weather in India can vary greatly. For the most part it is hotter in the south, but during the summer months it can be much hotter in the north. There are five seasons in India: winter, December to the end of February; spring, end of February to middle of April; summer, middle of April to middle of July; monsoon, middle of July to middle of September; and fall, middle of September to end of November.
For most places it is best to visit India from October to March.
Northern Indian Weather
During the spring, the weather in the north is very pleasant. By the end of April, India is very hot everywhere but in the Himalayas. In Delhi, Agra, and Rajasthan, winter (December, January, February) is cold at night, but it can be good during the day. If you are going to be traveling in the north during this time you should bring warm clothing. It does not get as cold as Europe or parts of the USA, but there is virtually no central heating systems in India, so you cannot escape from the cold. If you are active and want to travel around and see the sites, the winter is a good time to visit Rajasthan, Delhi and Varanasi.
Southern Indian Weather
The best time to go to Southern India is December to mid-February. It is warm and sunny, there is little or no rain, and the temperature rarely goes above 30°C (86°F) or below 13°C. This is the best time to travel, but the hotels may be full and the prices will be higher than normal. Especially from Christmas to New Years, it is very crowded.