完成体的用法疑问

老师好,关于现在完成时,我还是有些地方没对上号,初学总是犯蒙,所以还辛苦您再帮我看看:

1.我之前问的这个句子The speaker has talked for over two hours,您说这是事件的发生并持续到现在。这里我没对上号,我理解现在完成时的事件意义仅限于动作的结果对现在的影响,为什么这个也是事件意义呢?所以我可不可以认为现在完成时表示事件意义时有两种情况:一种是动作的结果对现在有影响。一种是某时之前的动作持续到现在,此时只能用持续性非终结动词+时间状语。我这样的理解完整了吗?

2.The speaker has talked for over two hours这个句子可以用现在完成进行时替换,但talk并不在我所知道的那些可以用作替换的动词里面。所以我萌生出了一个疑问:是否所有的持续性非终结动词的现在完成时+for时间状语都可以替换为现在完成进行时?还是说这是我想多了,其实这些能替换的动词只是约定俗成的特例而已?

3.当现在完成时表示长期习惯时,要有个时间状语,这个时间状语是否特指频度状语

比如:I have gone tothe library every day for 20 years.如果我去掉every day只用for 20 years就是错误的吧,因为非持续性动词go不可以接for持续时间状语,所以完成体表习惯必须是频度状语对不对?(另外如果我上面的说的是对的,那我换成since后就可以去掉evey day了,因为since可以表示多个动作多次发生,我这个理解对不对呢?)

    最佳答案 2021-01-17 00:40

    1 夸克明确指出,现在完成时表示过去事件的结果对现在的影响,这种理解仅限于终结性动词(即动作的结束导致状态的改变,这种改变后的状态在说话人依然存在或起作用)。非终结动词不导致状态的改变,不产生结果,何谈过去的结果对现在的影响。所以,终结动作无论是一般体还是完成体,都意味着动作结束,状态发生了改变,而for短语表示动作的持续,所以,终结动词的非进行体排斥for持续时间状语。

    而非终结动词表示时间持续到现在,标准用法为现在完成进行体,此时有无持续时间状语不影响动词意义。但非终结动词的完成体+for持续时间状语,也可表示动作持续到现在。如果没有for持续状语,则非终结的动词的完成体仅仅表示动作在某时间之前发生了。

    2 绝大多数非终结动词都可以用现在完成时+for持续时间状语表示动作从过去持续到说话时。现在完成进行时也可以表示类似意义。但二者侧重点不同。你犯了错,老师罚你在操场跑半个小时。你跑了半个小时后想停下来,对老师说,I have run for 30 minutes. May I stop? 你不用现在完成进行时。另一个语境,你喘着气,双腿酸痛,你说,I'm so tired. I have been running for 30 minutes. 你用现在完成进行时强调你连续不间断的跑了30分钟。此时你不用现在完成时。

    3 现在完成时表示长期习惯持续到现在,你需要的时间状语是频度状语或/和持续时间状语(since或for状语)。例如,I have gone to work by bus for 10 years. 如果句子有always,usually, ofter这样的频度状语,有时可以省略持续时间状语。如:I have always gone to work by bus. (迄今为止总是...)

    (0)

    相关推荐