一、 构成have/has+过去分词
如:(1) I have seen the film.
(2) He hasn't seen the film.
(3) Have they seen the film? Yes,they have.(No,they haven't.)
二、 用法
现在完成时态表示过去发生并已完成的某一动作对现在造成的影响,或过去发生持续到现在的行为。
1. 表示过去的动作对现在造成的影响或结果。标志词有already,yet,just,ever,never,before等。
如:(1) I have lost my bike. 我的自行车丢了。(即:我现在没有车了。)
(2) Thank you.I've had my supper. 谢谢你,我已吃过晚饭了。(即:我现在不需要。)
[注]
如果句中有一个表示特定的过去时间的状语,如:this morning,yesterday,last week,three days ago,just now等,谓语动词用一般过去时。而现在完成时则常与already, yet,just等与现在有联系的时间状语连用,并表示动作的持续。试比较:
(1) I found my bike just now.我是刚刚找到我的自行车的。
(2) I have found my bike.我已找到了我的自行车了。
如果单纯谈一个过去的动作不涉及它对现在的影响时,通常用一般过去时;如果谈一件事已经发生,不考虑它是什么时候发生的,而主要考虑对现在的影响,即现在情况如何,则用现在完成时。试比较:
(1) I closed the door.(表示门过去关好,现在可能关好,也可能没关好。)
(2) I have closed the door.(表示门现在关上了。)
2. 表示过去发生的动作持续到现在。标志词有for,since,so far,these days等。
如:
(1) Mr Green has lived in Beijing for two years.
格林先生住在北京已两年了。(说明“居住”的动作从两年前持续到现在)
(2) He has worked here since 1998.
他从1998年一直在这儿工作。(说明工作这一动作是从1998年持续到现在)
(3) He has lived with his aunt since his mother died.
自从他妈妈死了,他一直和他姑妈住在一起。(说明他仍将与姑妈一起生活下去。)
[注]
与for, since 连用的现在完成时,其谓语动词必须是持续性的。如果谓语动词为短暂性动词(或词组),可改为表示状态的“be+形容词(副词、分词、名词、介词短语)”。
如:begin/start―be on;come bace―be back;close―be closed;die―be dead;get up―be up;fall ill―be ill;leave―be away from;join―be a member of/be in;finish―/end―be over;marry―be married;open―be open
也可将某些短暂性动词改为与其意思相近的延续性动词,如:buy―have;become―be;borrow―keep
译一译:
他回来已三天了。 He has been back for three days.
=He has been back since three days ago.
=It is/has been three days since he came back.
=Three days has passed since he came back.
=They came back three days ago.
(不能说:He has come back for three days.)
某些非延续性动词的否定形式可以和for,since时间状语连用。
如:I haven't met him for a long time. 我好长时间没见到他了。
I haven't met him since he left. 自从他离开我就没遇到他。
3. 区别下列词组
(1) have/has gone to 去了某地还没有回来。
(2) have/has been to 曾经去过某地已经回来了。
(3) have/has been+介词短语 曾经在某个地方
如:
(1) They have gone to Beijing.
他们已到北京去了。(他们可能在去北京的路上或已到了北京,总之他们现在不在北京。)
(2) He has been to Beijing twice.他去过北京两次。(现在他不在北京。)
(3) I have been in Nanjing for two years.我在南京呆了两年。(现在还在南京。)
(4) His brother has been in the army for half a year.
=His brother has been a soldier for half a year.他哥哥参***半年了。
(5) Tom has been on the football team for a year.
=Tom has been a school football player for a year.