现在完成时和一般过去时

现在完成时主要有两个含义:

1.表示动作发生在过去,但与现在的情况有联系,有时无时间状语,有时和一些表示不确定的过去时间状语连用,如:many timesjustyeteverneveralreadybeforeso far, by now等连用。

2.表示从过去某一时间开始一直延续到现在并还可能继续延续下去的动作,用于延续性动词,且句中常带有表示一段时间的时间状语,如:for two months, so far等。

一般过去时表示过去某个时间里发生的动作或状态。

那晚辈有个问题:

Although we have been working in the same office for several years, she ____ me much impression

A.hasn’t left  B.didn’t leave C.doesn’t leave D.isn’t leaving

为何C不对?单主句是事实,单从句也是事实,为何不能用一般现在时?AC都对才对吧?

He has been a cook. 他曾经干过厨师。

为何暗示但现在不干厨师了,干别的工作了?

He has lived here. 他曾经在这里住过。

为何暗示意味着现在已经搬走了?

还有既然可以表示发生在过去但对现在有影响,为何不可以有when the Communist Party of China has been founded这样的用法?

请先 登录 后评论

3 个回答

尚简密  

问题这么长,这么多,这么复杂,应该有 flowers 吧!好像网站有这个要求的。

请先 登录 后评论
好题  
擅长:英语

1.  因为英语一般不说she doesn't leave me much impression, 因为leave 是描述瞬间动作,用完成时可以。一般描述状态的静态动词才可以用一般时。可以这样说:Although we have been working in the same office for several years, I don't have a particular impression of her.

2. When 加现在完成时,一般表述将来,而the Communist Party of China 早已成立了,所以不存在这样使用的语境。我给你写一句:When  a new party has been founded in the US,  John will join it. 这里的new party 说话时还没有成立。这里的has been founded = is founded.

请先 登录 后评论
吕明远

1.你用一般现在时的前提是,要么是瞬间动作要么是“不(可预料)结束”(曹老师术语)的状态或习惯,前者动作时间不超过当前时刻,而后者对动作时间的要求是超越当前时间跨越到未来的。你的语境中的时间是截止至说话的当前,所以不可以用一般现在时。

2.因为事件型完成时的表达可以不加时间状语,而状态型或习惯型的完成时表达表示时间段的时间状语往往是必具的。

3.when往往对应一个时间点或不常的时间段,“the Communist Party of China has been founded”中缺乏一个相对具体的时间信息,所以不宜搭配。

请先 登录 后评论
  • 3 关注
  • 1 收藏,1641 浏览
  • Michaelson 提出于 2021-06-15 01:51