The quick rule: Use the past simple (did, saw, went) for a finished action at a finished or stated time — I saw her yesterday. Use the present perfect (have/has + past participle: have done, have seen, has gone) when the time is unspecified, unfinished, or the past action still matters right now — I've seen her. If a sentence names a finished time such as yesterday, in 2019 or last week, you almost always need the past simple, never the present perfect.
Past simple: a finished action in finished time
The past simple describes something that started and ended in the past. The moment is over, and it is usually anchored to a specific time — either stated outright or clearly understood from context. It pairs naturally with finished-time markers like yesterday, last night, two hours ago, in 2019, when I was ten and at six o'clock.
- I watched the match last night.
- She moved to Berlin in 2018.
- We spoke on Tuesday.
- The train left five minutes ago.
Whether it happened one minute ago or a century ago, the past simple treats the event as closed and sealed off from the present.
Present perfect: the past that touches now
The present perfect (have or has + the past participle) links a past action to the present moment. The form is the same for every subject except he, she and it, which take has: I have worked, she has gone, they have seen. Use it for four main situations.
1. Life experience, unspecified time
When something happened at some point before now and the exact time is unknown or beside the point:
- I've visited Japan three times.
- Have you ever eaten octopus?
2. A situation continuing up to now
With for (a length of time) and since (a starting point), for something that began in the past and is still true:
- We've lived here for ten years. (and we still do)
- She's known him since 2015.
3. A recent action with a present result
- I've lost my keys. (so I can't get in now)
- He's broken his leg. (it's still in plaster)
4. An unfinished time period
When the time frame — today, this week, this year — has not ended yet:
- I've had three coffees today. (today isn't over)
- We've had a lot of rain this month.
The clash rule: never mix present perfect with a finished time
This is the single most common mistake learners make. The present perfect cannot sit beside a finished-time expression such as yesterday, last year or ...ago, because those words close the door on the present.
- ✗ I have seen him yesterday. → ✓ I saw him yesterday.
- ✗ She has arrived two hours ago. → ✓ She arrived two hours ago.
The instant you name a finished time, switch to the past simple. Feel the difference: I've broken my arm (it's in a sling now — present result) versus I broke my arm in 2019 (a fact filed away in the past).
Correct vs incorrect at a glance
- ✓ I've just finished lunch. — ✗ I've finished lunch an hour ago (use I finished lunch an hour ago).
- ✓ Rome fell in 476 AD. — ✗ Rome has fallen in 476 AD.
- ✓ I've never read that book. — ✗ I have read that book last summer (use I read that book last summer).
- ✓ Where did you go on holiday last year? — ✗ Where have you gone on holiday last year?
- ✓ She's worked here since March. — ✗ She works here since March.
Tricky cases and exceptions
For and since
Both usually point to the present perfect, but the past simple is fine for a finished stretch of time: I lived in Spain for a year (finished — I've since left) versus I've lived in Spain for a year (still there). Since almost always takes the present perfect: I've felt better since Monday.
Been versus gone
He's gone to the shop means he is there now or on his way and hasn't come back. He's been to the shop means he went and has already returned — and it's also the form for experience: I've been to Paris twice.
Just, already and yet
These typically trigger the present perfect in British English: just = a moment ago, already = sooner than expected, yet = up to now (in questions and negatives). I've just arrived. I've already paid. Have you eaten yet? I haven't decided yet.
Today and this morning — ongoing or over?
The same phrase can take either tense depending on the clock. I've drunk three coffees this morning (said while it's still morning) but I drank three coffees this morning (said in the afternoon, when the morning is done).
Living or dead?
Because the present perfect reaches into the present, it usually needs a subject who could still add to the tally. J.K. Rowling has written many books (she may write more), but Charles Dickens wrote many books — his output is a closed chapter.
A memory trick
Finished time, finished tense. If the sentence tells you exactly when, and that when is over, reach for the past simple. If it's about an experience, a result you can still feel, or a stretch of time running up to now, reach for the present perfect. Quick test: could you add the word yesterday? If yes, you want did; if yesterday would sound wrong, you want have done.
US vs UK: a genuine difference
Here the two main dialects really do diverge, so this isn't a myth. British English strongly prefers the present perfect with just, already and yet. American English happily uses the past simple in the very same spots.
- UK: I've just eaten. — US (also standard): I just ate.
- UK: Have you finished yet? — US: Did you finish yet?
- UK: I've already told him. — US: I already told him.
Neither version is wrong; this is a real regional split, and American usage accepts the past simple where British usage would flag it. Americans also say Did you ever see...? for life experience where British speakers lean toward Have you ever seen...? Beyond these cases, both dialects obey the same core rule: a stated, finished time always takes the past simple.