Learn English – Are “Why did you do that” and “Why have you done that” interchangeable

past-tensepresent-perfectpresent-perfect-vs-simple-past

As I know, both Simple Past and Present Perfect can be used for an action that happened in the past. However, S.Past is used for an action which has a definite period of time whereas P.Perfect is used for an action which doesn't have a definite period of time. Am I right?

I'm confused about these two tenses. Can anyone explain the differences between them?
Let's take an example (Your friend – B, You – A)

Case (1):
A: What did you do last night? Was there any fun?
B: No, there wasn't any fun. I already broke up with my girlfriend.
A: What? Why did you do that?

Case (2): (You and your friend haven't met each other for a long time)
A: Hey, what have you been doing?
B: Everything is so boring. I have broken up with my girlfriend.
A: What? Why have you done that?

In Case 1, I use "Why did you do that" – (Simple Past) because I know that he broke up with his girlfriend last night.

However, In case 2, I use "Why have you done that" – (Present Perfect) because I don't know when he broke up with his girlfriend (Maybe yesterday or 1 week before, 2 months before,…)

What do you think? In my opinion, in most real conversation, we can use "Why did you do?" and "Why have you done?" interchangeably? Am I correct?

Best Answer

Yes, you can do that almost always. Although the correct usage depends upon context.

Simple Past is used to denote any activity in the past (distant one).

"Why did you kick him?" is correct.

Present Perfect is used for an activity in the recent past. Or when the action started in the past and continues in the present.

What have you just done?

Use of Present Perfect either with or without just implies something is done in recent past.

Related Topic