现在完成时表示过去的动作在过去开始并持续到现在,所以它的起点一个在过去,而终点在现在。

  ◆ Right: We HAVE LIVED in a hut for three days.

 

这个句子表明三天前我们在小屋里而现在我们依然住在小屋里。而如果句子用过去时则是另外一种意思:

  ◆ Right: We LIVED in a hut for three days.

 

这个例子意味着,我们已不再生活在小屋,而这三日已经过去了。而通常完成时里会有明显的时间状态表示这个动作发生了多久:

  ◆ This country HAS ENFORCED strict immigration laws for thirty years.

  ◆ They HAVE KNOWN each other since 1987.

 

上面的例子的动作都是发生在过去并持续到现在,其时间上用了for thirty years 和 since 1987,进行暗示,表达了这个动作进行了多长时间。而有时候现在完成时也表示动作已经结束,只是他的影响持续到现在:

  ◆ The child HAS DRAWN a square in the sand.

 

这个小孩不再画了,其动作已经结束但是其所画的依然存在,而如果所话内容消失了我们则要使用一般过去式。

  ◆ Right: The child DREW a square in the sand, but the ocean ERASED it.

  ◆ Right: The child DREW a square in the sand, but the ocean HAS ERASED it.

  ◆ Awkward: The child HAS DRAWN a square in the sand, but the ocean HAS ERASED it.

 

上面的例子中,erase 的时态可以是一般过去时也可以是现在完成时,第一个句子中sand 现在的状态是未知的,而第二句中sand 现在的状态是确定的,因为用现在完成时可以知道其对现在的影响。所以总结一下,现在完成时表示持续的动作或已经结束的动作的持续影响,而since 还有within (如within the past five minutes 或者within the last ten days),就是现在完成时重要的标志:

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

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

 

如果我们想谈论一个已经特定,已经结束的时期,则应当用一般过去式而非现在完成时:

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

  ◆ Right: Veronica TRAVELED all over the world in 2007.

 

上面的第一个句子中,如果省略n 2007 则也是一个正确的句子,因为就变成了强调其对现在的影响。现在完成时在强调对现的影响时其效果要强于一般现在进和一般过去时和过去完成时。

最后,也可以将一个现在完成时放在一个ing的词前面,不定式或者从句前面表示用来表达动作结束。

 

  ◆ She WILL PAY you when you ASK her.

  WILL PAY 时间上是和ASK 一致的。

 

  ◆ She WILL PAY you when you HAVE TAKEN out the garbage.

  WILL PAY 时间上要晚于HAVE TAKEN out

学习完毕,做做练习检验一下自己的学习成果吧~

练习册:现在完成时

  • 包含题目数

    2

  • 已做过人数

    202

  • 全站平均正确率

    1%

  • 预计耗时

    4min

完成阅读