一般过去时 vs 现在完成时

一句话判据:句中若出现明确过去时间(ago, last week, in 2006, just now)或由 when 提问,只能用一般过去时;若句子不谈”何时发生”、只强调结果对现在的影响或持续到现在,用现在完成时。检验法:能否在句末补上一个”具体过去时间点”?能补 → 一般过去时。

一、对照表

维度 一般过去时 现在完成时
与现在的关系 与现在毫无关系,只是单纯的过去情况 与现在有关联:影响现在或持续到现在
时间状语 ago, yesterday, last week, in 2006, just now, then since, so far, already, yet, ever, just, before, recently
提问方式 When did you…? Have you ever…? / How long have you…?
动作状态 动作已结束,与现在断开 已完成(结果仍在)或未完成(持续到现在)
典型语境 叙事、往事、揭示真相(I expected…) 通报结果、讲述经历、延续到现在的状态

二、例句对照

一般过去时: - He left for New York a week ago.(他一周以前动身去了纽约。) - I lost my pen, but found it later.(我丢了钢笔,但后来找到了。) - When did you first meet him?(你什么时候和他首次见面的?)

现在完成时: - He has left the city.(他已离开这个城市。[结果:他不在这个城市]) - I have lost my pen, so I have to buy one.(我丢了钢笔,所以得去买一支。) - Great changes have taken place here since 1978.(自 1978 年以来这里发生了巨大的变化。)

三、易错陷阱

  • 母语干扰点(”我两个月前见过他”):✗ I have seen him two months ago. → ✓ I saw him two months ago.(ago 指多久以前的过去时间,与强调现在联系的完成时不能同现)
  • 母语干扰点(”你什么时候和他首次见面的”):✗ When have you first met him? → ✓ When did you first meet him?(when 问具体过去时间用过去时;只有 since when 可与完成时连用)
  • 母语干扰点(有明确过去状语仍用完成时):✗ I have seen the film last Sunday. → ✓ I saw the film last Sunday.(last Sunday 是明确过去时间,只能配一般过去时)
  • 母语干扰点(揭示真相):✗ It’s not as big as I have expected. → ✓ It’s not as big as I expected.(揭示真相时习惯上要用一般过去时)

四、记忆口诀

明确过去用过去,与今有关用完成;ago、last、when 一露面,完成时就得让位。

五、相关链接

一般过去时、现在完成时、一般过去时 vs 过去完成时、现在完成时 vs 过去完成时、动词时态总览

六、来源

  • 语法体系/英语语法网专栏/动词时态/00179-现在完成时与一般过去时的区别.md
  • 语法体系/英语语法网专栏/动词时态/00860-ago习惯上不与现在完成时连用.md
  • 语法体系/英语语法网专栏/动词时态/00862-when习惯上不与现在完成时连用.md
  • 语法体系/英语语法网专栏/动词时态/00186-现在完成时用法详说.md
  • 语法体系/英语语法网专栏/动词时态/00955-一般过去时的四种重要用法.md
作者:admin  创建时间:2026-09-11 18:05
最后编辑:admin  更新时间:2026-10-06 00:48