作者:城市网 来源:城市网学院 更新日期:2013-9-10
现在完成时与过去一般时的区别 现在完成时和过去一般时都表示在过去完成的动作,但现在完成时强调这一动作与现在的关系,如对现在产生的结果、影响等,而过去一般时则表示动作发生在过去,一般不表示和现在的关系。试比较: 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 你什么时候吃的?(说话人感兴趣的是"吃"这一动作发生在什么时候。) B:I had it about half an hour ago.我是大约半小时前吃的。 现在完成时的其他用法 1)还可表示动作发生在过去,并且一直延续到现在,甚至还可能继续延续下去。这时常和since所引导的短语或从句或for引导的短语连用(for有时可以省去)。 How long have you been in Beijing ? -I have been in Beijing for four years.你在北京呆了多久?--我在北京呆了四年。 Isaac's father has been a school teacher since 1968. 艾萨克的父亲从一九六八年以来就当教师。 We haven't had a vacation for a long time.我们好久没放假了。 Three years have passed since we left school.我们毕业已经三年了。 [注]但在下面的句子中,主句的谓语动词可以用现在一般时。如: It is three years since I began to work on the state farm.我在国营农场工作已经三年了。(美国英语用has been,下例同此) It's a long time since I saw you last.好久没见了。 2)在条件、时间状语从句中表示将来完成的动作。 I'll go with you when I have finished my home work,我做完作业后就和你一块去。 We'll wait here until you have Written the letter.我们将在这里等你写完信。 Perhaps I'll know more English after I have learnt it for two years.我学完两午后,懂的英语或许就会多些了。
|