A migraine can last from around four hours to a few days. Longer lasting migraines may be more prevalent in those who have ongoing stress and anxiety, as things like food triggers are fast to leave the system.