英语语法 现在完成时和现在完成进行时

今天我们来聊聊Present Perfect Simple现在完成时和 Present Perfect Continuous现在完成进行时!

你有没有想过它们之间的差别?如果你还有一些疑惑,我来帮你搞定。

二者之间确实有些差别。首先是动词的使用。现在完成时使用的动词是短暂的动作,而现在完成进行时使用的动词要持续一段时间。我们拿动词break来举例

Break是短暂动词,因此我们用现在完成时。比如 I have broken my glasses.

如果我们使用动词wait, 因为什么要等很久,所以我们使用现在完成进行时。比如 have been waiting for 20 minutes.

下面有一些短暂动词的例子drop, break, switch, open, close, start, finish, arrive, leave, depart and commence. 我们称这些动词为短暂动词,因为我们不必花很长时间来做这些动作。

你会注意到我们使用上述的短暂动词配合现在完成时使用。实际上,长动作动词可以用现在完成时,而短暂动词不能使用现在完成进行时。

比如:I have worked here for 5 years and I have been working here for 5 years 。这两种表达都是可以的。而开始start是短暂动词,那么. class has beenstarting 这种表达就不合适了。

还有,我们选择现在完成时也是因为我们要突出动作已经完成。我们看例子:

I have read 5 books this year. 这句话时为了强调我已经读完了5本书。

如果我们使用现在完成进行时,就会让收听者或者阅读者搞不清楚动作是否完成,亦或是要强调动作的持续性。

详细说明下:I have been cleaning the house all day. 这里的现在完成进行时是为了表明clean这个动作需要相当长的时间。并不是为了表达这个动作是否已经完成。像 for 3 days 和all week这样的表达在现在完成进行时中很常见。最后,还是要看说话的人或者作者是否要清晰地使用现在完成时,还是现在完成进行时。

我们使用现在完成时来谈论我们过去的经历。比如, I have been to Japan. 我们要记住,我们不能在现在完成时中使用3 days agolast year或者in 2015这样时间状语。当然,如果我们想要明确过去时间的某一点,我们使用一般过去时。比如

I went to Japan in 2015

我想,已经帮大家解决了疑惑。现在要做的就是,去实践,反复练习吧!