什么是现在完成时呢?现在完成时用于发生在过去但现在仍起作用或仍是事实的情况。(The present perfect tense is used for actions that started in the past but continue into the present, or remain true in the present.)现在完成时是1条腿在过去,1条在现在,如下图所示:

比如这个例句:

The Millers HAVE LIVED in a hut for three days. 这个句子表示the Millers在小屋里已经住了3天了,而现在他们住在这个小屋,依然是事实。

和这个句子对比下:

The Millers LIVED in a hut for three days.这句表示的是the Millers在小屋里住了3天,而且他们现在已经不再小屋里住了。

 

现在完成时的组成:have/has + 过去分词

看下面2个例子

例1: This country HAS ENFORCED strict immigration laws for thirty years.

例2: They HAVE KNOWN each other since 1987.

第一句的意思是:这个国家过去实行了严格的移民法案,并且现在还在执行。第二句的意思是:他们从1987年就认识了对方,而且现在还有来往。而且这两个句子都有时间标志词:for thirty years和since 1987。

 

还有一种情况,就是这个动作实际已经结束了,但是它的影响还在,看下面的例子

例1: The child HAS DRAWN a square in the sand. (小孩已经画完了方框,但是现在方框在还沙滩上,也就是画的动作的影响还在)

再看下面2个例子

例2:The child DREW a square in the sand, but the ocean ERASED it. (方框被海冲走,消失了,用一般过去时)

例3:The child DREW a square in the sand, but the ocean HAS ERASED it. (方框被海冲走,冲走的影响还在)

看这个错误例子: The child HAS DRAWN a square in the sand, but the ocean HAS ERASED it.既然海都已经把方框冲走了,那么画这个动作的影响已经不在了,所以draw不能用现在完成时。

 

  • 现在完成时标志持续的动作或结束的动作仍然有作用。

当since+过去的时间点时,要用现在完成时来表示这个动作的作用还在,看下面的3个例子体会下

Wrong: Since 1986, no one BROKE that world record.

Wrong: Since 1986, no one BREAKS that world record.

Right: Since 1986, no one HAS BROKEN that world record.

 

与since的道理一样,with the past和in the last(如within the past five minutes 和 in the last ten days)要用现在完成时表示动作还有影响。但是,当时间短语中不包括现在的话(如last month和in 2007)时,这只是单纯的一般过去时,所以不要用现在完成时。看下面的3个句子

Wrong: Veronica HAS TRAVELED all over the world in 2007.

Right: Veronica TRAVELED all over the world in 2007.

Right: Veronica HAS TRAVELED all over the world in the last five years.

 

有时,为了使动词的时间序列更加清楚,句子会使用现在完成时。像when有两个意思:同时(at the same time)和以后(after),在有when的句子里,现在完成时有时可以明确语意。看下面的两个句子

例1: She WILL PAY you when you ASK her. (No present perfect没有用现在完成时)

          = She will pay you at the same time as you ask her, or maybe just after.

例2: She WILL PAY you when you HAVE TAKEN out the garbage. (present perfect用现在完成时)

          = She will pay you after you take out the garbage.