这里为什么用现在完成时?

有读者问: 我在一部英语小说中遇到这样一句话:

(1)This is the first time I've flown to Belin.

可是说话人不但尚未到达柏林,而且飞机还没有起飞,但他却用了现在完成时have flown。请问这是为什么?

现在完成时一般皆表示行动上已完成的动作。但它有时也表示行动上尚未完成但思想上却已完成的动作,你所遇到的这句话即是一例。虽然飞机还没有起飞,但他在思想上已到达了目的地柏林了。这种现在完成时常用在上述例(1)的句型中。再如:

(2)This is the first time that I have dined at this restaurant.

(3)This will be the last time that I have dined at this restaurant.

但请注意,上述例(2)和(3)中的现在完成时have dined只在一定的上下文中才可表示行动上未完成但在思想上已完成的动作。在不同的上下文中,它自然也可表示行动上已完成的动作。而例(1)也是一样。