Short answer
Use the Past Simple when the past time is finished and named: I saw her yesterday. Use the Present Perfect when the time is still open or unstated and the result matters now: I have seen her twice this week, I have lost my keys. If a sentence names a finished time, the Past Simple always wins.
| Past Simple | Present Perfect | What changes |
|---|---|---|
| I lost my keys. | I have lost my keys. | Past Simple: it happened, and you may well have found them. Present Perfect: they are still missing. |
| Did you see the film? | Have you seen the film? | Past Simple: on that one evening we are talking about. Present Perfect: ever, at any point in your life. |
| He lived in Rome for ten years. | He has lived in Rome for ten years. | Past Simple: he moved away. Present Perfect: he is still there today. |
| I worked here in 2019. | I have worked here since 2019. | Past Simple: a closed year, and the job is over. Present Perfect: a period running right up to now. |
| She didn't call. | She hasn't called. | Past Simple: during a finished window, say yesterday. Present Perfect: you are still waiting by the phone. |
Now put it to work. 40 multiple-choice questions on Present Perfect (no specific time, or with ever / never / just / already / yet / since / for) against Past Simple (specific finished time: yesterday, last week, in 2020, two hours ago).
Choose the correct tense. Present Perfect works when no past time is named, or when the time period is still open (today, this week, ever). Past Simple takes over as soon as the time is finished: yesterday, last year, in 2020, two days ago.
No specific time is mentioned, OR the time period is still open, OR the result matters now.
A specific, finished past time is given or implied. The event is completely in the past.
| Present Perfect | Past Simple |
|---|---|
| No specific time: I have seen it. | Specific time: I saw it last night. |
| Unfinished: I've lived here for 5 years. | Finished: I lived there from 2010 to 2015. |
| Result now: She has broken her leg. | Event only: She broke her leg in 2022. |
| Experience: Have you ever tried Thai food? | Specific occasion: Did you try Thai food in Bangkok? |
| Just / already / yet: He's just left. | Specific past: He left an hour ago. |
| Since / for: I haven't slept since Tuesday. | Specific time: I didn't sleep on Tuesday night. |
When talking about someone who is no longer alive, always use Past Simple, because their life is finished.
After superlatives with “ever”, always use Present Perfect.
These can go with either tense depending on whether the period is still open or finished.
The Past Simple puts an event inside a finished stretch of time: yesterday, last week, in 2019, two hours ago. The Present Perfect keeps the event connected to now, either because the period is still running (this week, since Monday) or because the result is what you care about. "I lost my wallet" is a story. "I have lost my wallet" is a problem you still have.
No. Yesterday is a finished time, so it forces the Past Simple: "I saw him yesterday." The same goes for last night, in 2019, two days ago and when I was a child. As soon as a sentence names a closed time, the Present Perfect is out.
In British English these three sit with the Present Perfect: "I have just arrived", "She has already left", "Have you finished yet?" In American English the Past Simple is equally normal there: "I just arrived", "She already left". Both are correct in their own variety, so pick one and stay consistent, especially in an exam.
Because English opens with the Present Perfect and then switches to the Past Simple for the details. "I have been to Japan. I went in 2019 and stayed for three weeks." The first sentence reports the experience, with no time attached. Once you add the year, the time is fixed and finished, so every sentence after it takes the Past Simple.
The free grammar test takes about fifteen minutes, gives you a CEFR level and lists the topics you keep getting wrong, each with a link to the lesson that fixes it. No account, no payment.
Take the free grammar test