My own rule of thumb adds into account when the milk was opened. A sealed container of milk will last longer than one that has been opened. So, I have found that the 5-7 day rule holds from when the milk is opened or from the sell by date, which ever comes first. You definitely can't keep an open carton/bottle of milk for 3 weeks even if the sell by date hasn't been reached yet.