(一)现在完成时是表示过去的动作与现在的联系,主要说明的是现在的情况和状态;而一般过去时则强调动作发生在过去某一时间,与现在不发生联系。例如:
We haven’seen him since last year. 我们自从去年以来一直未见到他。(现在还未见到)
We didn't see him last year. 我们去年没见到他。(只能说明去年)
(二)现在完成对表示从过去发生一直持续到现在(包括现在)的某个动作或状态,与现在有关的时间状语连用,一般过去时表示过去某一特定(与现在无关)的时间,与具体的表示过去的时间状语连用。例如:
He has lived here since he was born.自他出生从来一直居住在这儿。(since自从……以来与现在有关,说明还居住在这儿。)
Liumei went to see her grandmother last night.刘梅昨晚去看了他外婆。(只说明昨晚)
1)动作发生在过去。一直持续到说话的时候,并且还在延续时,要用现在完成时。例如:
We have studied English for two years(我们学英语两年了)
2)指过去的经历,但没有表示过去的时间状语,要用现在完成时。例如:
I have been to Shanghai twice. 我曾去过上海两次
3)以when开头的特殊疑问句,要用一般过去时。例如:
When did you lose your pen?你什么时候丢了钢笔?
4)just(刚刚)与现在完成时连用,just now(刚才)与一般过去时连用,例如:
The train has iust gone. 火车刚刚离开。
The train left here just now. 火车刚才离开。
5)since作介词,后面跟时间名词一起作状语时,句子要用现在完成时since作连词,引导状语从句时,主句用现在完成时,从句用一般过去时。
He has worked in this factory since 1996.
I have known him since he was a child.
Where have you been since I last saw you?