现在完成时与一般过去时如何区分?
校园之窗 2026年1月10日 01:37:13 99ANYc3cd6
什么是现在完成时?
现在完成时用来表示过去发生并且与现在有联系的动作或状态,它连接了过去和现在。
核心概念:

- 动作发生在过去。
- 对现在有影响或结果。
- 动作或状态从过去开始,持续到现在。
现在完成时的构成
公式: 主语 + have/has + 动词的过去分词
- have: 用于第一人称、第二人称和第三人称复数。
- has: 用于第三人称单数。
- 过去分词: 动词的“第三形式”,通常不规则,需要单独记忆。
肯定句:
- I have finished my homework. (我做完作业了。)
- She has been to Beijing. (她去过北京。)
- They have lived here for ten years. (他们在这里住了十年了。)
否定句:
- 在
have/has后面加not。 - I have not (haven't) finished my homework.
- He has not (hasn't) seen that movie.
一般疑问句:

- 把
have/has提到句首。 - Have you finished your homework?
- Has he seen that movie?
- 肯定回答: Yes, I have. / Yes, he has.
- 否定回答: No, I haven't. / No, he hasn't.
现在完成时的主要用法
这是学习的重点和难点,主要有以下四种用法:
用法1:表示过去发生并持续到现在的动作或状态
标志词: for (达……之久), since (自从……以来)
-
for + 一段时间 (a period of time)
for two hours(两个小时)for three days(三天)for a long time(很长时间)- 例句: I have lived in Shanghai for five years. (我在上海住了五年了。) -> 我五年前开始住在这里,并且现在还住在这里。
-
since + 过去的时间点 (a specific point in time)
(图片来源网络,侵删)since 2025(自从2025年)since last Monday(自从上周一)since I was a child(自从我还是个孩子)- 例句: He has worked in this company since 2025. (他从2025年起就在这家公司工作了。) -> 他2025年开始工作,并且现在还在这里工作。
【重要区分】 for 和 since 的区别
for后面跟时间段。since后面跟时间点。
用法2:表示过去发生,但对现在有影响的动作
这个动作已经完成,但它的结果或影响现在依然存在。
-
例句1: I have lost my keys. (我把钥匙弄丢了。)
- 动作: 丢失钥匙(发生在过去)。
- 影响: 现在的我没有钥匙,进不了门。(这是现在的状态)
-
例句2: She has broken her arm. (她把胳膊弄断了。)
- 动作: 弄断胳膊(发生在过去)。
- 影响: 现在她的胳膊打着石膏,不能正常活动。(这是现在的状态)
-
例句3: He has just left the office. (他刚刚离开了办公室。)
- 动作: 离开办公室(刚刚发生)。
- 影响: 如果你现在去找他,他肯定不在办公室。(这是现在的结果)
用法3:表示“经历”或“体验”
表示某人过去是否做过某事,不关心具体时间,只关心是否有过这个经历。
-
标志词:
ever(曾经),never(从不),before(以前) -
例句1: Have you ever been to the Great Wall? (你去过长城吗?)
只是想知道你有没有这个经历,不问具体是哪一年去的。
-
例句2: I have never seen such a beautiful sunset. (我从未见过如此美丽的日落。)
-
例句3: She has been to Japan twice. (她去过日本两次。) -> 强调的是“去过”这个经历。
用法4:表示“已经”
表示动作已经完成,通常与 already 连用。
-
already: 用于肯定句,常放在
have/has后面或句末。- I have already finished my dinner. (我已经吃完晚饭了。)
- I have finished my dinner already.
-
yet: 用于疑问句和否定句,常放在句末。
- Have you finished your homework yet? (你做完作业了吗?)
- I haven't finished my homework yet. (我还没做完作业。)
易混淆点辨析
这是考试的常考点,一定要搞清楚!
现在完成时 vs. 一般过去时
| 区别点 | 现在完成时 | 一般过去时 |
|---|---|---|
| 核心 | 与现在有联系 | 与现在无关 |
| 时间 | 不强调具体过去时间,或用 for/since |
强调具体的过去时间 |
| 结果 | 动作的结果或影响现在还存在 | 动作在过去已经结束,与现在无关 |
| 标志词 | for, since, already, yet, ever, never, just |
yesterday, last week, in 2025, three days ago, when... |
对比练习:
-
I have lost my key. (我把钥匙弄丢了。)
强调我现在没有钥匙,很着急。
-
I lost my key yesterday. (我昨天把钥匙弄丢了。)
只陈述昨天这个事实,不强调我现在是否着急。
-
He has lived here for ten years. (他在这里住了十年了。)
他十年前开始住,并且现在还住在这里。
-
He lived here for ten years. (他曾在这里住了十年。)
他在这里住了十年,但现在已经不在这里了。
have been to vs. have gone to
-
have been to + 地点
- 意思: “去过某地”,表示人已经回来了。
- 例句: Tom has been to Beijing. (汤姆去过北京。) -> 汤姆现在不在这里,但他曾经去过北京,现在已经回来了。
-
have gone to + 地点
- 意思: “去了某地”,表示人已经去了那里,现在可能在那里,或在去的路上,但不在这里。
- 例句: Tom has gone to Beijing. (汤姆去北京了。) -> 汤姆不在这里,他在北京,或者正在去北京的路上。
常见不规则动词过去分词表
这是基础,必须掌握,这里列出一些最常用的:
| 原形 | 过去式 | 过去分词 |
|---|---|---|
| be | was/were | been |
| go | went | gone |
| see | saw | seen |
| do | did | done |
| get | got | gotten |
| have | had | had |
| make | made | made |
| take | took | taken |
| eat | ate | eaten |
| drink | drank | drunk |
| write | wrote | written |
| read | read | read |
| speak | spoke | spoken |
| break | broke | broken |
| sing | sang | sung |
| swim | swam | swum |
学习建议
- 理解第一:不要死记硬背规则,先理解“过去发生,与现在有关”这个核心概念。
- 牢记标志词:
for,since,already,yet,ever,never,just这些是判断现在完成时的“信号灯”。 - 多做对比练习:特别是现在完成时和一般过去时的对比,这是最容易出错的地方。
- 从简单句开始:先练习
I have done...,He has gone...这样的基本句型,再慢慢扩展到更复杂的句子。 - 反复记忆不规则动词:这是基本功,每天花5分钟背一背,效果很好。
希望这份详细的梳理能帮助你彻底掌握现在完成时!加油!