下面这题该用现在完成时还是过去完成时:

I met Jim last week. We __________ each other for about twenty years since we left Japan.

A. didn’t meet B. don’t meet C. haven’t met D. hadn’t met

【分析】此题应选D。不少考生会误选C,因为这句当中有一个由since引导的时间状语从句。确实,在与since状语从句连用的主句中,时态通常是用现在完成时:

He has lived here since he came here. 自从他来到这里,他就一直住在这儿。

We haven’t heard from her since she left. 自从她离开后,我们就一直未收到她的来信。

I have been at his bedside ever since he became ill. 自从他生病以来,我一直守在他床边。

以上各例之所以用了现在完成时,是因为since表示“自从……以来,一直……”,这刚好与现在完成时的持续性用法一致。但是这种用法不是绝对的,有时在特定的语言环境下也可能有例外。试比较:

1. We haven’t met each other for about 20 years since we left Japan.

2. I met Jim last week. We hadn’t met each other

for about twenty years since we left Japan.

第1句用现在完成时,这大家比较好理解。但是第2句用过去完成时,有的考生就感到费解了。其实第2句用过去完成时的主要原因是I met Jim last week. 既然“我上个星期见到了吉姆”,所以“30 年未见面”显然应在“上星期”这一过去时间之前(即“过去的过去”),所以要用过去完成时。