怎么区分一般过去时与现在完成时

2025-03-23 21:06:27
推荐回答(5个)
回答1:

1. 现在完成时和一般过去时都表示在过去完成的动作, 但现在完成时强调这一动作与现在的关系, 如对现在产生的结果、影响等,而一般过去时则表示动作发生在过去,一般不表示和现在的关系。试比较:

① Who has opened the door?谁把门开了?(现在门还开着)

Who opened the door? 谁开的门? (指过去,与现在无关。现在门是关着还是开着,没有说明。)

② — Have you had your lunch?你吃过午饭没有? (意即你现在不饿吗?)

— Yes, I have. 吃了。(意即我现在饱了,不要再吃了。)

— When did you have it? 你什么时候吃的? (说话人感兴趣的是“吃”这一动作发生在什么时候。)

2. 一般过去时常与具体的时间状语连用,而现在完成时通常与模糊的时间状语连用,或无时间状语。

一般过去时的时间状语:

yesterday, once, last week, ... ago, in

1980, in October, just now等具体的时间状语。

现在完成时的时间状语:

for, since, so far, ever, never, just, yet,

till/ until, up to now, in past/last years, always等不确定的时间状语。

共同的时间状语:

this morning, tonight, this April, now, ever, before, already, recently, lately等。

3. 现在完成时表示持续到现在的动作或状态,动词一般是延续性的, 如 live, teach, learn, work, study, know等。

过去时常用的非延续性动词有come, go, leave, start, die, finish, become, get married等。 eg.

① I saw this film yesterday.(强调看的动作发生过了。)

I have seen this film. (强调对现在的影响,电影的内容已经知道了。)

② He has been in the League for three years. (在团内的状态可延续)

He has been a League member for three years. (是团员的状态可持续)

He joined the League three years ago. (三年前入团,joined为短暂行为。)

句子中如有一般过去时的时间状语(如yesterday, last week, in 1960)时,不能使用现在完成时,要用过去时。

(错) Tom has written a letter to his parents last night.

(对) Tom wrote a letter to his parents last night.

回答2:

现在完成时和一般过去时的主要区别在于,现在完成时强调的是“过去做过的事情对现在的影响,强调现在”,一般过去时讲的是“过去做了什么事情,强调过去”,

回答3:

一般过去时是表示过去发生的事情,在你说话的这个时间点之前已经发生完的事情,用一般过去时。现在完成时的用法一般有两种,一种是过去发生,并且延续到现在,另一种是事情发生在过去,并且对现在造成了影响,而过去完成时是指在过去某个时刻之前已经发生的动作,一般都说是过去的过去发生的事情。

回答4:

如果你只是要陈述你做了什么,陈述的东西和目前状况没有太大影响,就用一般过去时。比如说

i washed the plate.
我洗盘子了,topic基本到此打住,基本没有下文。还有一种最简单的过去时情况就是,如果别人用过去时问你,你自然要用过去时回答。

但是你要用现在完成时,效果就不一样了。

i have washed the plate.
我已经洗好盘子了。强调做过,完成了。还有意思是,既然我已经洗好盘子了,我就该干什么什么了,或者你就应该履行什么承诺之类的,你可以好好感觉一下,这个语感是和汉语通用的,我感觉。

过去完成时就是强调,在过去的那个点,我已经完成了。比如,

i had washed the plate before the tap broke down.

回答5:

现在完成时有have done
过去完成时有had done
一般过去时就是did