Haven't refers to the past up until now. So if you haven't done something, you haven't done it for a specific period of time (day, month, ever, etc.) Didn't refers to a specific point of time that has already passed. For example, if it is 7 PM, you could say "I didn't eat dinner at 6" or "I haven't eaten dinner yet today". In both instances ... More @Wikipedia
Hover over any link to get a description of the article. Please note that search keywords are sometimes hidden within the full article and don't appear in the description or title.