I like to think of the past tense as a flag in the middle of a sentence to call out and mark tense. Training your ear to notice these « flags » or markers will help you better capture meaning. The English language aims for simplicity and reduces markers to a minimum.
Have a look at the past simple marked by -ed, did or irregular verb in the past simple form.
To keep it simple (no pun intended of course), remember that we don’t want a sentence full of « flags« , or tense markers. If we are being « simple », then, we need one « flag » for each past event:
A: I went to the zoo yesterday. Went is our red, past-tense flag, or carton rouge (!) if you are a soccer (football) fan.
B: Really? Did you have a nice time? Did is our tense marker (and auxiliary verb of course). There is no need to add another marker, so have doesn’t change tense.
A: Yes I did. I had a very nice time. Note that there is one tense marker per verb used. Now examine this other response:
A: It rained but I did eat, drink and have a good time after all. « –ed» in « rained » is the past marker for the beginning of the sentence. Then, we have an « emphatic » did to place the emphasis on a nice list activities (eat, drink, have a good time). The sequence of events is clear, so we remain simple and use only one tense marker for three verbs !
So next time you are getting confused about has, had, have, and end up saying : I DID HAD a nice time, it’s wrong because you have 2 red flags for a simple tense. The correct answer is I had a nice time, or I did not have a nice time.