现在完成时和一般过去时的区别:中文的“了”和“过”该怎么用英语说?
为什么不能说 I have seen him yesterday?从中文的“了”“过”和句尾“了”出发,讲清现在完成时和一般过去时的用法、since 和 for、been 和 gone,以及中国学生的常见错误。
一般过去时(I saw, I went)说的是发生在一个已经结束的过去时间里的事:昨天、去年、2019年、三天前。现在完成时(I have seen, I have gone)把过去的事和“现在”连在一起:到现在为止的经历,到现在还在的结果,一直持续到现在的状态。最好用的判断标准是:句子里有一个已经结束的过去时间,或者说话人心里想着这个时间,就用一般过去时。
中国学生为什么总在这里出错
中文动词没有时态,靠“了”“过”和时间词来表达。麻烦在于,这几个小词和英语时态并不一一对应。
一个“了”,两种英语。 “我丢了钥匙”可以是 I lost my key yesterday(昨天丢的,后来可能找到了),也可以是 I've lost my key(丢了,现在还没找到)。光看“了”,判断不出该用哪个时态。
“过”通常是现在完成时,但不总是。 “你去过北京吗?”是 Have you ever been to Beijing?,这是经历,用现在完成时。可是“我昨天去过他家”有了“昨天”,就得说 I went to his place yesterday。
句尾的“了”很关键。 “我在北京住了十年”可能已经搬走了:I lived in Beijing for ten years. “我在北京住了十年了”,句尾多一个“了”,说明现在还住着:I've lived in Beijing for ten years. 这个小小的“了”,正是英语现在完成时的意思。
所以别从中文的字面出发选时态,而是问自己:这件事是放在一个已经结束的过去时间里,还是和现在连着?
一览表
| 一般过去时 | 现在完成时 | |
|---|---|---|
| 看的时间 | 已经结束的过去时间 | 从过去到现在 |
| 形式 | 动词过去式:saw, went, lived | have / has + 过去分词:have seen, has gone |
| 常见搭配 | yesterday, last year, in 2019, ago, when ...? | ever, never, just, already, yet, since, for, so far |
| 经历 | I went to Xi'an last spring.(去年春天我去了西安。) | Have you ever been to Xi'an?(你去过西安吗?) |
| 结果 | I lost my key yesterday, but I found it.(我昨天丢了钥匙,不过找到了。) | I've lost my key.(我钥匙丢了,现在还没找到。) |
| 持续 | I lived in Beijing for ten years.(我在北京住了十年,现在不住那儿了。) | I've lived in Beijing for ten years.(我在北京住了十年了,现在还住着。) |
一般过去时:有明确时间的过去
说得出“什么时候”的事。 I saw him yesterday.(我昨天见到他了。)She moved to London in 2019.(她2019年搬去了伦敦。)
用 when 提问。 When did you arrive?(你什么时候到的?)when 问的是时间点,所以问句和答句都用一般过去时。
已经结束的一段时间。 I lived in Beijing for ten years.(我在北京住过十年。)有 for 也没关系,只要这段时间已经结束,就用一般过去时。
故事里先后发生的事。 He opened the door, looked around and left.(他打开门,四下看了看,走了。)
已经不在的人或物。 My grandfather visited Paris three times.(我爷爷去过三次巴黎。)中文用“过”,英语却用一般过去时,因为说的是已经去世的人,他的经历和现在连不上了。
现在完成时:把过去和现在连起来
经历(……过)。 Have you ever tried hotpot?(你吃过火锅吗?)I've never seen snow.(我从来没见过雪。)不说具体时间,一说出时间就要换成一般过去时。
结果(……了,现在还有影响)。 I've finished my homework.(我作业写完了,所以现在可以出去玩。)She has broken her arm.(她胳膊骨折了,现在还打着石膏。)
持续(……了……了)。 I've known him since high school.(我从高中起就认识他了。)We've been married for five years.(我们结婚五年了。)中文这种时候常说“……了”加时间再加“了”。
just、already、yet。 I've just arrived.(我刚到。)I've already eaten.(我已经吃过了。)Have you finished yet?(你做完了吗?)I haven't finished yet.(我还没做完。)
今天、这周这类还没结束的时间。 I've drunk three cups of coffee today.(我今天已经喝了三杯咖啡。)同样是“今天上午”,如果现在还是上午,说 I've had two coffees this morning;到了下午回头说,就是 I had two coffees this morning。
since 还是 for
中文“从……起”“……年了”都能对应,所以容易混。
- since + 起点: since 2020(从2020年起)、since Monday(从星期一起)、since I was a child(从小)
- for + 时长: for three years(三年)、for two weeks(两个星期)、for a long time(很久)
since three years 是错的。时长用 for,起点用 since。如果动作一直在进行,常用现在完成进行时:I've been waiting for an hour.(我等了一个小时了。)
been 还是 gone
这一组和中文对应得特别整齐:
- She has been to London. 她去过伦敦(现在已经回来了)。
- She has gone to London. 她去伦敦了(现在不在这儿)。
“去过”是 have been to,“去了(还没回来)”是 have gone to。
中国学生的常见错误
时间词和现在完成时一起用。 × I have seen him yesterday. → ✓ I saw him yesterday. 有 yesterday、last week、ago、in 2019 这类词,就不能用现在完成时。
“去年去过”用现在完成时。 × I have been to Beijing last year. → ✓ I went to Beijing last year. 中文“去过”带了时间,英语就要换成一般过去时。
用 when 问现在完成时。 × When have you arrived? → ✓ When did you arrive?
“你来中国多久了”用一般现在时。 × How long are you in China? → ✓ How long have you been in China? 中文没有时态标记,很容易直接套用现在时。同理,× I live here for ten years. → ✓ I've lived here for ten years.
“已经”一律用现在完成时。 “他三年前就已经毕业了”有“三年前”,还是 He graduated three years ago.
过去分词写错。 have went 应该是 have gone,have ate 应该是 have eaten。不规则动词的三种形式要一起记,见不规则动词。
英国英语和美国英语
美国人说话时,常用一般过去时搭配 already 和 yet:Did you eat yet? I already ate. 英国英语更常说 Have you eaten yet? I've already eaten. 两种都对。考试和写作时,用现在完成时最稳妥,无论是四级、六级还是雅思。
小练习
选一般过去时或现在完成时,答案在下面。
- I ___ (visit) Shanghai in 2018.
- ___ you ever ___ (eat) Indian food?
- She ___ (live) here since 2015.
- We ___ (meet) two weeks ago.
- I can't open the door. I ___ (lose) my key.
- When ___ you ___ (start) learning English?
答案: 1. visited(有2018年). 2. Have, eaten(经历). 3. has lived(since,到现在). 4. met(ago). 5. have lost(结果还在). 6. did, start(when 提问).
继续学习
两个时态各有一课,附例句和小测验:现在完成时和一般过去时。讲故事时还会用到过去进行时。
时态的感觉是读出来的。原版小说里,作者每一次在 she said 和 she has said 之间做的选择,都在告诉你这件事和“现在”有没有关系。我们的 Learn English 应用从单词和语法开始,经过分级阅读,一直带你读到《傲慢与偏见》这样的英文原著,每一行下面都有中文译文。下载免费;部分书籍和额外内容需要用学习中获得的钻石或 Premium 解锁。