对比现在完成进行时与现在完成时
现在完成时和现在完成进行时
先看几个例句。
- Do you know if Peter has called?
- My manager won’t be pleased because I still haven’t finished the report.
- Have you sent that email yet?
- We’re really tired. We’ve been driving since 4 o'clock this morning.
- How long have you been studying English?
- The bus hasn't come. I've been waiting here for ages.
现在完成时的构成为have 过去分词。
- I’ve never been to Africa.
现在完成进行时的构成为 have been -ing 形式(现在分词)
- It’s been raining since ten o’clock this morning.
我们用现在完成时连接过去和现在。
- The cafe has just opened. (= It is open now.)
- People have been arriving in large numbers. (= They are still arriving now.)
当某事从过去开始并持续到现在,或者重复到现在时,我们通常可以用一般现在完成时或现在完成进行时来连用since或for。
- We’ve lived/’ve been living here for about a year now.
- I’ve listened/been listening to the new album a lot since I downloaded it.
现在完成时对比现在完成进行时
我们用一般现在完成时来关注一个动作的结果,用现在完成进行时来关注这个动作本身。
- I've been practising this piece for weeks but still haven't learned it.
我们用一般现在完成时来谈论how much或how many。当我们关注某事花了多长时间时,我们使用现在完成进行时。
- I've done three tests this term.
- We've seen that show three times.
- I've been working on this project for a month now. I need to finish it by the end of the week.
我们用一般现在完成时来谈论某事发生了多少次。但是我们用现在完成进行时来表示重复的动作,但我们不能明确地说它们发生了多少次。我们经常在这些句子中使用all day和recent这样的短语。
- We've seen that show three times.
- I've been trying to contact him all morning.
我们通常使用一般现在完成时,而不是现在完成进行时,用be, have, know, seem这样的动词来谈论状态而不是动作。
- We’ve known each other since university.
We've been knowing each other since university. - She’s had that laptop for over ten years!
She's been having that laptop for over ten years!
我们经常使用一般现在完成时,而不是现在完成进行时来第一次宣布消息。
- Have you heard? Tom’s lost his job.
- The Prime Minister has resigned.