1 静态动词的完成体和完成进行体怎么区分呢,比如现在完成和现在完成进行,都是表示一个状态从过去持续到现在,那应该怎么区分呢 ?
2 对于您在一个问答里提到的动态动词完成体,have waited for 2 hours 和have been waiting for2 hours 的细微差别是否可以说,带入您的公式,前者代表说话此刻我不在等了(动作的结束) 后者是说话此刻我仍然在等。
1 完成进行体是完成体和进行体的结合,静态动词不能用于进行体,同样也不能用于完成进行体。这是原则。
但在特定的情况下,少数静态动词可以临时活用为动态意义,此时该动词表示的状语为结束在预料之中的临时状态,例如 He is being stupid these days.;或静态动词转意为转态动词,例如 I'm liking these place. ; 或者表示委婉,例如,I am wondering if you...。
所以,只有少数静态动词可以用现在完成进行时,表示从过去持续到现在的状态,此时都含有静态动词用于进行体的特殊意义,表示委婉、试探性口气、临时的状态等。
I have been wondering why ...
We have been hoping that...
此时多半没有持续时间状语。
而现在完成时与静态动词连用则通常需要持续时间状语(for或since状语),表示一个状态持续了多久,或从何时持续到现在。如果没有持续时间状语,则用一般现在时表示当前存在的状态。例如:
I have known him for 20 years/since I was a child.
I know him.
不说 I have known him.
2 I have waited for 2 hours. 和 I have been waiting for 2 hours. 有人认为二者意义没有差别。有人认为完成进行体带有感情色彩,带有抱怨的口吻。
I have lived here for 30 years. 和 I have been living here for 3 years. 有人认为二句没有差别。有人认为完成体是长期定居者说的,比如一个30岁的北京人说他在北京住了30年了。而现在完成进行时是临时居住者说的,比如一个外企的外国高管,他的合同是在中国工作5年,现在他已经住了三年了。
无论用现在完成时还是现在完成进行时,和动作或状态是否结束都没有必然的联系。都可能刚结束,也可能都会持续下去。关键是从过去持续到了现在,这是二个时态要表示的共同点。该动作或状态是否还会持续下去,完全由语境上下文决定。需要强调的是,现在完成时必须和持续时间状语连用才能表示动作或状态从过去持续到现在,或者有语境提示这样的状语。而现在完成进行时无需持续时间状语就可以表示一个动作或状态从过去持续到现在。时间状语是选择性的。例如,I have been waiting. 我一直在等。I have waited. 则没有一直等到说话时的意思,而是我等了。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!