核心规则
现在完成时把过去与现在联系起来,常见于截至现在的经历、过去动作的当前结果,以及持续到现在的状态。它并不等于“所有已经做完的事”。
结构与例句
主语 + have / has + 过去分词
- 否定:have not / has not + 过去分词。
- 疑问:Have / Has + 主语 + 过去分词 …?
I have lost my keys.
我的钥匙丢了。
这里突出现在找不到钥匙的结果,而不是交代昨天几点发生。
使用场景
Have you ever been to London?
你去过伦敦吗?
询问截至现在的人生经历,没有指定某一次过去旅行的时间。
She has lived here for five years.
她已经在这里住了五年。
在通常语境中,她现在仍住在这里。
常见错误
错误: I have seen him yesterday. → 正确: I saw him yesterday. 已结束的具体过去时间通常用一般过去时。
错误: She has went home. → 正确: She has gone home. 完成时需要过去分词 gone。
易混知识点
been to 常表示去过又回来了;gone to 常表示已经去了、尚未回来。具体解释仍要结合上下文。
总结
关注“这件过去的事与现在有什么联系”,并检查 have / has 后是否为过去分词。
初中 · 经历与持续时间
for 与 since
for 后接一段时间:for two weeks;since 后接起点:since Monday。
We have known each other since primary school.
我们从小学起就认识了。
know 描述持续状态。表达“他离开两天了”通常用 He has been away for two days,而不是 He has left for two days。
高中 · 现在视角与时间边界
高中学习重点
现在完成时采用“现在的观察点”回看过去。关键不是动作是否做完,而是过去的经历、结果或持续状态与现在有关。它通常不与 yesterday、last year、in 2020 等已经结束的具体过去时间同用。
Scientists have discovered a new way to store energy.
科学家已经发现了一种新的储能方法。
句子关注当前可用的新发现;若叙述发现发生在 2024 年,则用 discovered。since + 起点、for + 时长 常与延续状态搭配,但是否使用完成时仍由整体意义决定。
语篇中的使用
新闻标题、研究综述和个人经历常用现在完成时连接过去与当前。瞬间动词若表达持续状态,需要换成延续表达:He has been away for two days,而不是 He has left for two days。
小练习
- 选择:I have finished / finished the report last night.
- 填空:We ___ (know) each other since primary school.
- 比较
She went to Paris与She has gone to Paris的观察点。
参考答案
finished,last night 是已结束的具体时间。have known,状态从过去持续到现在。- 前者叙述一次过去行程;后者强调她已经去了巴黎,通常暗示目前尚未回来。
进阶 · 尚未结束的时间框架
today 不一定只能搭配一个时态
I have had two cups of coffee today 从当前仍在延续的一天回顾;I had coffee at eight this morning 讲述一个已结束的具体时间点。
与现在完成进行时比较
I have written three emails 强调已完成的数量;I have been writing emails 强调持续的活动。进行形式是否适合,还取决于动词意义和上下文。