英语句子中如有过去时的时间副词时,为什么不能用现在完成时

4个回答

  • 我是英语老师,我来简明扼要、浅显易懂地教你怎么选用一般过去时和现在完成时,好吗?

    一般过去时常和表过去的时间状语连用,属过去的时态范畴.而现在完成时属现在的时态范畴,故不能和表过去的时间状语连用.

    这两种时态学生很容易混淆,因为它们据描述的动作都是过去发生的.那么我们应当怎么去区别开它们呢?就是:看所给句子有无表“过去”的时间!

    有表“过去”的时间就用一般过去时,否则常用现在完成时!

    1.一般过去时表示说话人关心过去某动作发生的“时间”,所以往往有表过去的时间!如有two days ago,last week,yesterday等等.

    He came here two years ago.

    We played basketball last week.

    2.现在完成时用法:

    (1)现在完成时表示说话人关心过去发生的某动作对现在造成的影响或结果.不关心动作发生的时间,只关心动作之后所产生的结果,所以不会出现动作发生的时间!常和这些不是表过去的时间连用,如just,ever等等.

    I have just cleaned the classroom.(结果是:地面变干净了!)

    He has ever read the book.(结果是:知晓书中的内容了!)

    (2)现在完成时表示过去发生某动作从过去一直持续到现在(将来还有可能继续下去).常和for+时间段和since+时间点连用.

    I have studied English for 3 years.( 从过去持续到现在)

    I have taught here since I came here.( 主句的动作“教”从过去持续到现在),(记住:since(从……)从句的动作要用过去时,我们平时不是爱说“从过去”吗?)

    3.综合运用 (我希望你能背住这些经典段了!)

    (1)假设今天该你扫地,放学后你的班主任问你了:

    T:Have you cleaned the classroom?(老师关心动作的结果:地干净否)

    S:Yes,I have.

    T:Oh,really?When did you clean it (老师关心动作的时间,用过去时)

    S:I cleaned it 5 minutes ago.

    (2)I came here two years ago.(有过去的时间ago,用进去时)

    So I have been here for two years .(“在这里”是从过去持续到现在,还有for+时间段,该用完成时.这里还应注意:瞬间动词变延续性动词了!)