skip to Main Content

现在完成进行时的形式

现在完成进的行时:have/has been + 动词-ing

肯定句:I have been working.

否定句:I have not been working.

疑问句:Have you been working?

简短回答:Yes, I have./No, I have not. (haven’t)

现在完成进行时的用法

现在完成进行时加上动作动词(动态动词)说明在过去发生的状况到现在尚未结束或是正好结束。

Has he been attending driving classes? 他上过驾驶课吗?
I’m busy. I’ve been writing a novel. 我很忙。我一直在写小说。

现在完成进行时可以用来说明从过去持续或重复到现在的行为或情境。

He‘s been calling you for days. 他这几天一直在给你打电话。  (表示他这几天一直重复打电话这个动作)
I have been driving since early in the morning. 我从一大早就开始开车。 (表示我一直在不停地做开车这个动作。)

搭配 for, since, how long, lately, all day/week/month/etc 可以用来询问或是说明某个情况发生了多长时间。

I have been wearing this shirt since yesterday. 从昨天开始我就一直穿着这件衬衫。
She has been playing a lot lately. 他最近一直在玩
He’s been eating all day. 他一整天都在吃东西。
How long have you been living in Europe? 你在欧洲生活多久了?

使用现在完成时 or 现在完成进行时?

过去开始到现在仍然持续的情况

现在完成时和现在完成进行时都可以说明在过去开始的情况到现在仍然持续。但是现在完成时要搭配非动作动词(静态动词),而现在完成进行时要搭配动态动词(尽管现在完成时也是有可能的)。

 I have had this house for years. 我已经拥有这所房子很多年了。
I have been watching this show all day. 我整天都在看这个节目。

对于过去开始到现在仍在持续的情况,且想强调这种情况持续了多长时间时,我们可以用现在完成进行时搭配动态动词。

She has been sleeping for hours. 她已经睡了好几个小时了。
I couldn’t clean the house. I’ve been working all day. 我无法打扫房子。我整天都在工作。

完成和未完成的行为

现在完成时表达在过去已完成的行为但并未说明是何时完成的。现在完成进行时表达某行为或情境可能尚未完成也可能(最近)已经完成。

Who has eaten my cakes? 谁吃了我的蛋糕?  (此时没蛋糕剩下的情况下,我们常会这样说。这个动作结束了)
Who has been eating my cakes?  谁一直在吃我的蛋糕? (此时还有蛋糕剩下的情况下,我们会这样说)

I’ve been writing the report as you requested. I’ll let you know once done. 我一直按照你的要求写报告。完成后我会告诉你的。
I’ve written the report as you requested. I finished it yesterday. 我已经按照你的要求写了报告。我昨天完成了。

产生现在结果的行为

现在完成时和现在完成进行时可以表达有产生现在结果的行为。若是现在的结果是起因于某行为的完成,则要用现在完成时。

Look how nice my motorcycle. I‘ve washed it. 看我的摩托车多漂亮。我已经洗过了。  (=摩托车看起来不错,是因为我已经洗完了。)
You look like you’re feeling good today. Have you attended the concert? 你今天看起来心情很好。你参加过演唱会吗? (=你今天看起来心情很好,是因为你已经完成了参加音乐会的行为。)

如果现在的结果来自做动作的过程,则用现在完成时。

I’m so tired. I’ve been playing basketball with my friends.我好累。我一直在和我的朋友们打篮球。 (=因为打篮球涉及的体力活动,所以我很累。)
How come you are late today? Have you been waiting for the bus? 你今天怎么迟到了?你一直在等公共汽车吗? (=因为等待的过程,你迟到了。)

发生多久 how long vs 完成多少 how many/much

我们用现在完成进行时来说明某行为发生了多久,即这件事做了多久的时间。我们用现在完成时来说明我们完成了多少事情。

现在完成进行时 – 练习题

 

Comments

发表回复

您的电子邮箱地址不会被公开。

Back To Top