Let us be clear about time phrases beginning with "SINCE" and "FOR".
SINCE/FROM refers to POINT OF TIME (10 a.m./year1940/Monday last)
FOR refers to PERIOD OF TIME
(10 hours/ 3 days/ 4 months)
They have nothing to do with tenses. However, they assume special importance as 'perfect continuous' form of tenses specially demands mention of time factor.
" Since/for/ from" can safely be used in any other tenses if their presence can by no means disturb the basic concepts of time element of tenses in use.
As regards Present Perfect Tense, it is not a self contained tense; as if it expects some thing else of undefined nature. (e.g., I have sat for the exam.--just completed action--expecting may be result, may be outcome, may be any thing else) We may use since and from here as well.
An excellent question! Yes, you can use didn't with time periods, and yes, they do mean different things. I think the key thing to remember is that I have(n't) is a present tense, while I did(n't) is a past tense.
I haven't seen him for five years: As of right now, I have not seen him at any time during the past five years.
I didn't see him for five years: There was a period of five years, entirely in the past, during which I did not see him. This implies that I did see him again at the end of the five years.
The phrase with since is a little different, because since implies an effect that begins at one point in time and continues until another point in time, and ago means "before the present time".
I haven't played since two days ago: Two days before today I played, but I have not played in the span of time since then.
I didn't play since two days ago: This one is not correct - remember, didn't is a past tense, but "ago" means that we're talking about something leading up to the present. If you're talking about "time leading up to the present", then the correct way to phrase is is "I haven't played", which is your first example. If you mean "at some time in the past", then the correct way to phrase it would be "I hadn't played since two days before."
Apparently some grammar references say that "since...ago" is not correct, but there's a lot of argument about it, and it sounds OK to this US English speaker. A slightly more natural way to phrase it would be "I haven't played for two days", but "since...ago" doesn't sound wrong to me.
Best Answer
since is used about something that happened regularly or continuously over a period of time, either until now or until some event in the past.
Note that getting married refers to a one-time event - the wedding day-, whereas being married refers to a state which normally occurs continuously for a long period of time. When you use since with a one-time event, it means that it occurred during the interval between the specified time and now. Consider these two sentences:
It certainly is unconventional to use since to describe a one-time event, but it is not that unusual and it doesn't cause confusion. The fact that they later got divorced does not affect the fact that the marriage event took place.
The use of present perfect have gotten married is uncommon, but does occur, as this NGram shows.