Fortunately, most upset stomachs go away in 48 hours or less. Many people have digestive issues that last for months or even years if the underlying cause is a long-term problem such as chronic stress, food allergies, or an untreated health issue.