Present perfect vs past simple · 现在完成时 vs 一般过去时
Two ways to look at the past
- Both tenses talk about the past — but in different ways.
- Past simple = a finished time. Present perfect = connected to now.
- I saw it yesterday. / I have seen it.
I lost my keys yesterday; I have found three old receipts since.
看待过去的两种方式

- 两个时态都讲过去,但角度不同。
- 一般过去时 = 确定的过去时间。现在完成时 = 和现在相关。
- 我I 看saw 它it 昨天yesterday.(我昨天看到的。)
我昨天丢了钥匙;从那以后倒找到了三张旧收据。
Finished time → past simple
- Use the past simple with a finished past time.
- yesterday, last week, in 2019, two days ago.
- We met in 2018. She called an hour ago.
确定的过去时间 → 一般过去时
- 有确定的过去时间时,用一般过去时。
- yesterday、last week、in 2019、two days ago。
- 我们We 相遇met 在in 2018年2018.(我们 2018 年认识的。)
Connected to now → present perfect
- Use the present perfect for experience or the recent past, with no exact time.
- I have visited Japan. He has just left.
- It matters now — the result or the experience.
与现在相关 → 现在完成时
- 谈经验或刚刚发生、不说具体时间时,用现在完成时。
- 他He (完成时)has 刚just 离开left.(他刚走。)
- 它强调对现在的影响——结果或经验。
Complete: Have you ever ___ (be) to London? · 填空:Have you ever ___ (be) to London?
Experience with “ever” → present perfect: “Have you ever been …?” · 用 ever 谈经验 → 现在完成时:Have you ever been …?
Signal words
- Past simple: yesterday, … ago, last …, in 2019.
- Present perfect: just, already, yet, ever, never, since, for.
- Never put a finished time with the present perfect.
标志词
- 一般过去时:yesterday、… ago、last …、in 2019。
- 现在完成时:just、already、yet、ever、never、since、for。
- 别把确定时间和现在完成时放在一起。
Which tense does the signal word want? · 这个标志词要用哪个时态?
A finished time → past simple; an open / 'up to now' word → present perfect. · 确定的过去时间 → 一般过去时;开放的 / 与现在相关的词 → 现在完成时。
Choose the correct sentence. · 选出正确的句子。
“yesterday” is a finished time → past simple: “I saw him yesterday.” · yesterday 是确定的过去时间 → 一般过去时:I saw him yesterday。
Is this correct? “I have finished my homework an hour ago.” · 这句对吗? “I have finished my homework an hour ago.”
“an hour ago” is a finished time → past simple: “I finished … an hour ago.” · an hour ago 是确定时间 → 一般过去时:I finished … an hour ago。
Translate into English: 我从没去过北京。 · 翻译成英语:我从没去过北京。
Experience (never) → present perfect: “I have never been to Beijing.” · 谈经验(never)→ 现在完成时:I have never been to Beijing。
Common mistakes
- ❌ When have you arrived? → ✓ When did you arrive? — when asks for a past time.
- ❌ This is the first time I go here. → ✓ …the first time I have been here.
- just now → past simple; just → present perfect: I finished just now. / I have just finished.
常见错误
- ❌ When have you arrived? → ✓ When did you arrive?—— when 问的就是具体过去时间。
- ❌ This is the first time I go here. → ✓ …the first time I have been here。—— "第一次"句型配现在完成时。
- just now(刚才)配过去时;just(刚刚)配完成时:I finished just now。/ I have just finished。
Which sentence is correct? · 哪个句子是正确的?
last year is an exact past time → past simple. · last year 是确定的过去时间 → 一般过去时。
Complete with one word: I have ___ finished — the report is on your desk. · 填一个词:I have ___ finished — the report is on your desk.
just sits inside the present perfect; just now would need the past simple. · just 放在现在完成时里;just now 则要配一般过去时。
- Finished past time → past simple.
- Experience / recent, no time given → present perfect.
- yesterday → past simple; just / already / ever → present perfect.
- 确定的过去时间 → 一般过去时。
- 经验 / 最近、没说时间 → 现在完成时。
- yesterday → 一般过去时;just / already / ever → 现在完成时。
Write one sentence about something you have done recently, using the present perfect (no exact time). · 用现在完成时写一句话,说说你最近做过的一件事(不说具体时间)。
Example: “I have just finished a good book.” · 例如:I have just finished a good book。