现在完成时和过去一般时都表示在过去完成的动作,但现在完成时强调这一动作与现在的关系,如对现在产生的结果、影响等,而过去一般时则表示动作发生在过去,一般不表示和现在的关系。试比较:
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.我是大约半小时前吃的。