怎样区别英语中的现在完成时和现在完成进行时,谢谢

如题所述

1) 第一点说的是时间不同:前者强调完成了,后者的动作还在进行 (现在完成时可以表示一个已经完成的动作,而现在完成进行时则表示一个正在进行的动作)

I have read the book. 我读过这本书。

I have been reading the book. 我一直在读这本书。

【注】有少数动词(如work, study, live, teach, stay等)在表示持续一时间时用这两种时态含义差不多(只是用现在完成进行进更强调动作的持续性):

How long have you worked [been working] here? 你在这儿工作多久了?

I’ve lived [been living] here since 1988. 自1988年以来我就一直住在这儿。

(2) 只有现在完成进行表示情感:(现在完成时通常只陈述事实,而现在完成进行时还可表示一种感情的 色彩)

I have waited for two hours. 我等了两小时。(陈述事实)

I have been waiting for two hours. 我等了两个小时。(等得好辛苦)

(3) 时间的长短的区别:前后时间长,后者较之短暂 (现在完成进行时通常用来谈论较短暂的动作或情况,若要谈论时间延续较长的动作或情况或永久性情况,则通常用现在完成时):

He has lived in Paris. 他(一直)住在巴黎。

He has been living in Paris. 他(目前)住在巴黎。(表暂时性)

(4) 不用于进行时态的动词通常也不用于现在完成进行时,但它们可以用于现在完成时:

I’ve only known her for two day. 我认识她刚刚两天。

They’ve been married for twenty years. 他们结婚已二十年了。

The war has lasted for a long time. 这场战争持续了很长时间。

(5) 被动语态中只有现在在完成时能用。(现在完成进行时不用于被动语态,若要用可用现在完成时的被动语态代替:)

The house has been painted for a month. 这房子已漆了一个月。

The problem has been studied for five days. 这个问题已研究了五天。

括号之前为我的简单分析
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-02
完成时和完成进行时都是表示动作发生在过去,区别在于,在说话的时刻时,完成时的动作已经结束,而完成进行时则表示动作仍在进行,并且还有可能持续下去。
如。i've been living here for ten years. 我在这住了十年了,言下之意就是我还会住下去的
i've lived here for ten years. 我在那住了十年,而现在我不在这里住本回答被网友采纳
第2个回答  2012-07-03
看动作是否是持续性的。有时候还要看语境,如果还要继续下去,那么就是现在完成进行时。