Generally speaking, cruise ships can only stay at sea for around twelve days before they need to refuel. Despite this most cruise ships will refuel every few days as they stop at different ports. Just because a cruise ship could in theory stay at sea for 12 days, this doesn't mean that they do.