现在完成时(Present perfect tense)表示动作发生在过去,但与现在情况有关系,即用一个发生在过去的动作来说明现在的情况。
现在完成时由动词have (has) + 过去分词构成。
现在完成时的基本用法
1)表示动作到现在为止已经完成或刚完成,汉语常用"了"或"过"来表示。如:
I have finished my work.我把工作做完了。
We have set up many new factories in this area.我们在这个地区建立了许多新工厂。
She has read all these books.她把这些书都读完了。
2)动作在过去完成,表示"经验"或"结果"。汉语常用"过"来表示。如:
Have you ever seen the play The Doll's House? 你看过话剧《傀儡家庭》吗?
Yes,I have seen it twice.我看过两遍了。
I have learnt to drive.我学过开车。
The man has lived in China.那人在中国住过。
[注] 注意be在下面句子中的意义。如:
Where have you been? -I've been to the laboratory.你上哪儿去了?--到实验室去了。
Have you ever been to Hangzhou? ―No,I've never been there.你到过杭州吗?--没到过。
How have you been?-I've been well thank you.你近来身体好吗?--谢谢你,我近来很好。
现在完成时与过去一般时的区别
现在完成时和过去一般时都表示在过去完成的动作,但现在完成时强调这一动作与现在的关系,如对现在产生的结果、影响等,而过去一般时则表示动作发生在过去,一般不表示和现在的关系。试比较:
1)I have lost my pen.我把钢笔丢了。(意即还没找到,现在我没有笔用。)
She lost her pen yes today.她昨天把笔丢了。(笔是昨天丢的,现在找到与否,没有说明。)
2)I have been to the Agricultural Exhibition.我看过这个农业展览会。(强调我知道它的内容)
I went to the Agricultural Exhibition last week.我上周参观了这个农业展览会。(只说明我上周参观过展览会这件事)
3) Who has opened the door? 谁把门开了?(现在门还开着)
Who opened the door? 谁开的门?(指过去,与现在无关。现在门是关着还是开着,没有说明。)
4) A:Have you had your lunch? 你吃过年饭没有?(意即你现在不饿吗?)
B:Yes,I have.吃了。(意即我现在饱了,不要再吃了。)
A:When did you have it 你什么时候吃的?(说话人感兴趣的是"吃"这一动作发生在什么时候。)