Present perfect or past simple?
Both of them look back. Only one of them also says: and it matters now.
By Dilnoza Yusufova · Linguist
In short
- A finished time in the sentence — yesterday, in 2019, at six — forces the past simple.
- No time, or a time frame that still includes today, takes the present perfect.
- Questions with when are always past simple.
Past simple
A finished moment. The time is closed — named outright, or obvious from the story.
I saw her on Monday.
- yesterday
- last week
- in 2019
- two days ago
- then
- when I was ten
Present perfect
A result that reaches now. The time frame is still open, and it is never named.
I have seen her twice this week.
- already
- yet
- just
- ever
- never
- so far
- since 2019
The present perfect is not a past tense. It is a present tense about the past — which is why it cannot sit next to yesterday.
Why the rule about “yesterday” is not arbitrary
Look at what the form is made of: have plus a participle. The part that carries the tense is have, and have is present. That is the whole explanation of a rule most textbooks state without one. A present-tense verb cannot be anchored to a finished past moment, so I have seen her yesterday breaks before it reaches any rule about perfects — it puts a present verb on a closed day.
Everything below follows from that. The past simple places an event inside finished time. The present perfect places a result inside time that is still running, and the clock it runs on is the one you are reading this with.
How to choose, line by line
| What the sentence does | Form | Example |
|---|---|---|
| Names a finished time | Past simple | She left at six. |
| Asks when something happened | Past simple | When did you arrive? |
| Tells a story in order | Past simple | He came in, sat down and said nothing. |
| Describes a period now closed | Past simple | We lived there for a year. |
| Reports news with no time | Present perfect | She has left. |
| Counts up to now | Present perfect | I have read three of them. |
| Describes a period still open | Present perfect | We have lived here for a year. |
Same room, two sentences
A colleague walks out of a meeting. Both sentences below are correct English, and they do not mean the same thing.
- He left ten minutes ago.The time is named and closed. You are telling me when.
- He has left.No time at all. You are telling me he is not here — that is the point.
This is the test worth keeping: ask yourself whether you are reporting when, or reporting where things stand. The first is the past simple. The second is the present perfect.
Four jobs only the present perfect does
1. The result is still here
- I have lost my keys.And I still do not have them. “I lost my keys yesterday” is a story about yesterday.
- She has broken her arm.The arm is broken now. Say when, and the form changes: she broke it on Sunday.
2. Experience in a life that is still going on
- Have you ever been to Japan?Your life is the time frame, and it is open.
- She has climbed Kilimanjaro.At some unnamed point. Name the year and you are back to the past simple.
3. A period that has not closed yet
- He has worked here since April.He still works here.
- We have had three meetings this week.The week is not over; the count can still change.
4. News, before the details arrive
- The company has announced a merger.The headline.
- It announced the deal on Tuesday morning and named the price at noon.The details, each with its own finished time.
For and since: the trap in the middle
For takes a length of time — for three years, for an hour. Since takes the point it started from — since 2016, since Monday. Both go with the present perfect when the period runs up to now, and that is exactly where speakers of many other languages reach for the present tense instead.
- I have lived here for ten years.I live here now.
- I lived there for ten years.I do not live there any more.
- I have been here since Monday.Not “I am here since Monday” — the period began in the past.
Mistakes to avoid
Wrong: I have seen her yesterday. correct: I saw her yesterday.
A named finished time and a present-tense verb cannot share a clause.
Wrong: When have you arrived? correct: When did you arrive?
The question asks for a point inside finished time. That is what the past simple is for.
Wrong: How long do you know him? correct: How long have you known him?
The knowing started in the past and reaches now, so English uses the perfect here.
Wrong: I have finished it two hours ago. correct: I finished it two hours ago.
Ago counts backwards from now to a closed point. Naming the point closes it.
Check yourself
Try 5 sentences
Loading…
Getting your first question ready.
Keep this
- A named finished time takes the past simple. There is no exception worth learning.
- If the result or the period reaches now, use the present perfect.
- Questions with when are past simple, every time.
Both forms also turn up together in mixed practice, where nothing tells you in advance which one the sentence wants — which is how they come at you outside a lesson.
Questions readers ask
So is “Did you eat yet?” wrong?
Not in American English, where it is the ordinary way to ask. British English expects Have you eaten yet? This is a difference between varieties, not a mistake — though British exams mark the perfect as the answer.
Is the present perfect a past tense?
No. The verb that carries the tense is have, and it is present. The form talks about the past, but it is anchored in the present — which is why a finished-time phrase cannot be attached to it.
What about “this morning”?
It depends on when you are speaking. While it is still morning the period is open and takes the perfect; after midday it is closed and takes the past simple.