Past Simple or Present Perfect? A Simple Rule That Works

Quick answer: If the sentence states when something happened, use past simple: 'I ate at seven.' If it does not state when, and the point is experience, an unfinished period, or a result that still matters, use present perfect: 'I have eaten.' Present perfect can never appear with a finished time word like yesterday or last week.↗ Share on X
Here is the rule in one line: if the sentence says when something happened, use past simple. If it does not say when, and the point is that it happened at some time before now, use present perfect.
"I ate breakfast at seven" — the time is there, so past simple. "I have eaten breakfast" — no time, just the result that you are not hungry, so present perfect. That one test handles most sentences you will ever write.
The rest of this article covers the cases where the test needs a little help.
Why does the "when" test work?
Pick the Right English Tense for Daily Life Easily →
Easy Home Methods to Fix English Pronunciation Fast →
Using Few and A Few Correctly in English →Because present perfect and a finished time cannot sit in the same sentence. English does not allow it.
You can say "I have seen that film." You cannot say "I have seen that film yesterday." As soon as *yesterday* appears, the sentence is anchored to a finished moment, and finished moments take past simple: "I saw that film yesterday."
So before you choose the tense, look for a time expression. These pull the sentence toward past simple:
- yesterday, last night, last week, last year
- in 2019, on Monday, at six o'clock
- two days ago, a long time ago
- when I was a child, after the meeting
These sit comfortably with present perfect instead:
- ever, never, already, yet, just
- so far, up to now, recently, lately
- today, this week, this month, this year (time that has not finished)
Level up — free guides in your inbox
What are the three jobs of present perfect?
Present perfect is not "the past with have". It exists to connect the past to right now, and it does that in three ways.
Job 1: life experience, time unknown or unimportant.
"She has visited Japan." The point is that it is on her list of experiences. When she went does not matter. Add the when and the tense changes: "She visited Japan in 2018."
Job 2: something started in the past and is still true.
"I have lived here for six years." I still live here. Past simple would end it: "I lived here for six years" means I moved out.
Job 3: a past action with a result you can see now.
"He has broken his arm." The arm is still broken. "He broke his arm" just reports an event; it might be healed by now.
That third job is why present perfect feels natural in news and announcements, and why past simple takes over as soon as details arrive. News stories do this constantly: "A train has derailed near the border. The accident happened at 4 a.m. and emergency crews arrived within the hour." First sentence, present perfect, fresh news. Then the details, all past simple.
Which words force which tense?
How to Remember English Vocabulary Without Rote Memorization →
Gerunds vs Infinitives: Simple Rules for Daily English →
How to Use Much and Many Without Common Mistakes →Keep this table nearby until it becomes automatic.
| Word | Tense | Example |
|---|---|---|
| ago | past simple | I met her three years ago |
| yesterday, last... | past simple | We finished last week |
| in + past year | past simple | He started in 2020 |
| ever, never | present perfect | Have you ever tried sushi? |
| already | present perfect | She has already left |
| yet | present perfect | I haven't finished yet |
| just | present perfect | They have just arrived |
| since | present perfect | I've worked here since March |
| for (still true) | present perfect | We've known each other for years |
| when...? (question) | past simple | When did you arrive? |
Notice the last one. A *when* question is always past simple, never present perfect. "When have you arrived?" is wrong in every variety of English. It is "When did you arrive?"
What is the difference between "for" and "since"?
They both go with present perfect, and learners mix them up constantly.
- For + a length of time: for two hours, for three weeks, for ten years, for a long time.
- Since + a starting point: since Monday, since 2015, since I was a child, since we moved.
"I have worked here for five years" and "I have worked here since 2021" say the same thing two ways. If you can answer *how long?*, use *for*. If you can answer *starting when?*, use *since*.
How do I make the forms without mistakes?
Present perfect is have or has plus the past participle — the third form of the verb.
| Subject | Form |
|---|---|
| I / you / we / they | have + past participle |
| he / she / it | has + past participle |
Two mistakes account for most errors here:
Mistake 1: using past simple instead of the participle.
Wrong: "I have went." Right: "I have gone."
Wrong: "She has ate." Right: "She has eaten."
Wrong: "We have saw." Right: "We have seen."
The verbs that trip people up most: go/went/gone, see/saw/seen, eat/ate/eaten, take/took/taken, write/wrote/written, do/did/done, break/broke/broken, speak/spoke/spoken.
Mistake 2: using past simple after "did" in questions and negatives.
Wrong: "Did you went?" Right: "Did you go?"
Wrong: "I didn't saw it." Right: "I didn't see it."
The rule: once you use *did* or *didn't*, the main verb goes back to its plain form. *Did* already carries the past.
Which one for "today", "this week", "this morning"?
This is the case that confuses learners even after they know the main rule, and the answer is simple once you see it.
If the period is still running, use present perfect. If it has ended, use past simple.
- At 10 a.m.: "I have drunk three coffees this morning." The morning is not over.
- At 8 p.m.: "I drank three coffees this morning." That morning finished hours ago.
- On Wednesday: "I have been to the gym twice this week."
- On the following Monday: "I went to the gym twice last week."
Same sentence, different tense, decided only by whether the clock has run out on that period.
Does American English follow the same rules?
Mostly, with one common relaxation worth knowing.
American speakers often use past simple with *already*, *just*, and *yet*, where British speakers use present perfect:
- American: "Did you eat yet?" / "I already finished."
- British: "Have you eaten yet?" / "I've already finished."
Both are understood everywhere. If you are taking an exam such as IELTS or Cambridge, use the present perfect form — it is correct in both systems and never marked wrong. In casual conversation with Americans, either sounds normal.
A five-minute drill you can do daily
Do not study lists of rules. Train the choice instead.
1. Write five sentences about your real day, each one containing a time expression: "I woke up at 6:30." "I left the house at 7." These are all past simple. Say them out loud.
2. Write five sentences about your life with no time expression: "I have worked in three cities." "I have never eaten oysters." All present perfect.
3. Take three sentences from step 1 and remove the time word. Convert them: "I woke up at 6:30" becomes "I have already woken up."
4. Take three from step 2 and add a time word, converting them the other way: "I have never eaten oysters" becomes "I didn't eat oysters when I was in Spain."
Steps 3 and 4 are the valuable ones. They train the switch, which is the actual skill being tested. Five minutes a day for two weeks will do more than an hour of reading grammar explanations.
Quick self-check
Fix these four. Answers below.
1. I have finished my homework yesterday.
2. When have you seen him?
3. She lives here since 2019.
4. Did you went to the meeting?
Answers: (1) I finished my homework yesterday. (2) When did you see him? (3) She has lived here since 2019. (4) Did you go to the meeting?
Your next step
Open any message you sent today in English — a chat, an email, a comment. Find every sentence about the past and check one thing only: does it contain a finished time word?
If yes, the verb should be past simple. If no, ask whether the point is experience, an unfinished period, or a result that still matters — and if it is, switch it to present perfect.
Do that check on your own writing for one week. Correcting sentences you actually wrote sticks far better than exercises from a book.
FAQ
Can I say 'I have finished yesterday'?
No. Present perfect cannot appear with a finished time expression such as yesterday, last week, or in 2019. The correct sentence is 'I finished yesterday.' If you want present perfect, drop the time word: 'I have finished.'
What is the difference between 'for' and 'since' with present perfect?
Use 'for' with a length of time — for two hours, for five years. Use 'since' with a starting point — since Monday, since 2015, since I was a child. 'I have worked here for five years' and 'I have worked here since 2021' mean the same thing.
Is 'Did you eat yet?' wrong?
It is standard in American English, while British English prefers 'Have you eaten yet?'. Both are understood. In exams such as IELTS or Cambridge, use the present perfect form, because it is accepted in both systems.
