I would like to know when is the best time to do a cruise on the Douro river, relating to price and weather. Also, what's the best duration? I saw that there are from 1 day to 7 day programs. 1 day seems short, but 7 days a bit too long. Anyone had experience with this?
I would no go there in midsummer. If Porto is still okay, due to its situation on the Atlantic Ocean, temperatures can get very high inland. Spring and autumn are the best moments to travel. Prices for longer cruises (7-10 days) tend to be a bit lower in summer.
A 1 day cruise is ideal if you are on a city trip and you want to quickly escape Porto for a moment to see something else.
There are also formulas of 2 days. They are done with excursion boats as well. You will e.g. go from Porto to Régua on the first day. You will spend the night in an hotel over there. On the second day, it goes back to Porto.
If you want to get the most of it, and you want something less bustling, opt for a 7-10 days cruise. These trips will take place on real cruise boats. You will sleep and (very often) eat on board. Just like an ocean cruise. You will have plenty of time to do sightseeing and to enjoy the quietness of the region.