现在完成时
现在完成时是一个把过去和现在联系起来的时态。谈得都是已经发生的事情,但和现在有某种关系,就是指从过去某时到现在,某事已经完成或是已经发生。 用法如下:
1、表示动作刚刚发生(常和just, now, already, yet等词连用);或表示动作的结果(一般不用时间状语)。
例(1)I have just had my lunch. 我刚吃过午饭。
例(2)I've already posted your letters. 我已经把你的信件寄走了。
2、表示过去某时开始的动作一直延续到现在,并且可能会继续延续下去(常用since引导的短语或从句,或由for 引导的短语连用)。
例:She has been a dancer for ten years. 她已经当了十年的舞蹈演员了。(还有可能继续当下去)。
往年试题:
例(1)He has _____ the army for ten years and is now an officer.
A. gone into B. joined in C. been in D. come into
答案:C
3、在since引起的从句中通常用一般一般过去时,而主句中的动词一般都用现在完成时。英语中有些动词不能延续(如meet, leave, arrive等),因此不能和表示延续的时间状语连用(如for ten years):
例(1)I have had a baby since I saw you last. 上次见到你之后我生了一个孩子。
当主句表示“有多少时间”时,动词可用一般现在时:
例(2)It is ten years since he left home and joined the army. 他入伍离乡已十年。
4、have (has) gone to和have (has) been to的差别:
have (has) been to:表示到过某个地方(表示某人的一种经历),人并不在那里, 可以和once, twice, often, never, ever 连用。
have (has) gone to:表示“到某地了”(表示某人已经离开此地,在去某地的路途上或已在某地),此句型不能与上述时间状语连用。
(1)He has gone to China.他已经去了中国。(现在不在此地)
(2)He has been to China twice. 他(曾经)去过中国两次。