The expiration date on drugs is determined by the drug companies. They have to store and test the meds for the time frame they want. Most pills are tested for two to three years. For a drug company to give an 5 to seven year expiration date they would have to store and test the drug for that long to assure full potency. Since there is no incentive to the drug company to do this they only have short dates. They want you to throw out old drugs and buy new. The US military on the other hand stockpiles many common drugs and tests them to make sure they retain potency. It's cheaper for them to test periodically than to keep throwing out large quantities of meds. Most pills last for years past their dates. Here's one article I found.
http://www.redorbit.com/news/health/771253/study_highlights_debate_over_drug_expiration_dates/