I saw a film. 与 I have seen a film.
I didn't see a film. 与 I haven't seen a film.
I was a good boy.与 I have been a good boy.
I wasn't a good boy.与 I haven't been a good boy.
它们到底是什么意思?区别的本质在哪?
时态是动词的时的形式和体的形式的结合。
英语动词有四个时:现在时,过去时,将来时和过去将来时。
时通过谓语第一动词来体现:当第一谓语动词的形式为动词的现在式,则为现在时;第一谓语动词的形式为过去式,则为过去时;第一动词为will,则为将来时;第一谓语动词为would,则为过去将来时。
动词的时反映说话人关心的时间,说话人关心什么时间,谓语就用什么时。动词的时和动作的实际发生时间没有直接关系,即说话人关心的时间和动作发生的时间可以不一致。有些语法书说动词的时是动作的发生时间,这是对动词的时的严重误解。
动词有四个体:一般体、进行体、完成体、完成进行体。
进行体的形式为be doing; 完成体的形式为have done, 完成进行体的形式为have been doing; 一般体无标记,不是进行体、完成体或完成进行体的动词形式就是一般体形式。
动词的体反映在说话人关心的那个时间,动词描述的是什么样的情景。要理解体的意义,必须首先知道谓语表示的是事件,还是状态或习惯。
一般体表示在说话人关心的那个时间之内发生并结束的事件,或在说话人关心的那个时间存在着的状态或习惯。
完成体表示在说话人关心的时间之前发生并结束的事件,或从过去持续到说话人关心的那个时间的状态或习惯。
进行体表示在说话人关心的时间已经开始且尚未结束的事件。
完成进行体表示从过去持续到说话人关心的那个时间的事件。
以上为关于时态的基本概念。有了这些基本概念,时态的理解和运用就是一个很简单的事情了。现在我们分析一般过去时和现在完成时的区别。
1 事件
一般过去时表示事件时,首先说话人关心的时间(即动词的时)是过去,由于过去为从现在往历史方向无限延伸,为了达到交流的目的,说话人有义务用时间状态来指明他关心的过去是时间轴上的哪个时间点或时间段,除非听话人从语境中能够判断说话人关心的是哪个时间点或时间段。换句话说,当我们使用一般过去时时,过去时间状语是必具的(除非听话人根据语境能够判断出这个过去时间)。一般体表示事件是在这个具体的过去时间之内发生并结束的。例如:I saw a film yesterday. 说话人关心昨天(过去),看电影这个事件在昨天发生并结束。因此谓语动词用过去时、一般体,时态为一般过去时。网友在举例时没有给出时间状语,从交际的角度讲,是不恰当的,因为听话人无法判断说话人看电影是在昨天,去年还是一百年前,因此这句话失去了交流的意义。
同样是说话人在过去看了电影,当说话人不关心过去而是关心现在(说话时刻)时,例如有人邀请他看某部电影,他以前看过,没有必要再看,就可以用现在完成时表示这个过去发生的事件。由于说话人不关心过去,而是关心现在,即在说话时处于已经看过了没有必要再看的状态,至于是过去什么时候看的并不重要也不关心。因此可以说:I have seen the film. 现在时表示说话人关心现在,完成体表示看电影这个事件在现在之前发生并结束。由于说话人不关心过去,因此不会出现确切的过去时间状语。即现在完成时排斥确切的过去时间状语。
2 状态
状态由静态动词表示。一般体表示一个状态在说话人关心的时间存在着,如果说话人关心的时间为过去,则为一般过去时态。同样的道理,使用一般过去时表示状态的时候,也需要一个确切的过去时间状语来使听话人明白这个过去是时间轴上的哪个时间点或时间段,除非听话人可以从语境判断出来。例如在一个讲故事的背景中,听话人已经知道故事的时间背景,此时你说,I/He was a good boy. 如果没有这样的背景,则说话人需要时间状语来明确这个过去时间,例如,He was a good boy and knew what he should do when that happened.
完成体表示一个状态持续至说话人关系的时间。现在完成时表示一个状态持续至说话时刻。例如,I have always been a good boy. 状语always强调从过去到现在我一直是个好孩子。不同于一般现在时I am a good boy.表示的我是好孩子(暗示我过去和将来还是好孩子),并不强调从过去到现在这段时间。I was a good boy则只表示我以前是个好孩子,后来是否还是好孩子不得而知。
现在完成时表示状态通常需要时间状语来表示从过去到现在这段时间。例如:I have been here for 2 hours. 如果没有这个时间状语,则应该用一般现在时,I am here. 一般不能说I have been here.
总结:一般过去时表示事件在说话人关心的一个过去时间发生并结束,或者一个状态在说话人关心的过去时间存在着。通常需要确切的时间状语来表示出这个过去时间,除非语境使听话人能够判断出这个时间。
现在完成时表示一个事件在说话时之前已经发生过了,但说话人并不关心事件发生的时间,而是关心现在,因此排斥过去时间状语。或者表示一个状态从过去持续到现在,强调状态的持续。通常需要状语表示出这段时间。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
一般过去时与现在完成时的区别的本质是:如果说话者只是客观地描述过去发生的情况,用一般过去时;如果说话者强调某一过去情况对现在的影响或结果,则用现在完成时。
现针对你句子设置相应情景,请注意体会:
A: What did you do this morning? 你今天上午做什么了?
B: I saw a film. 我看了一部电影。
A: How do you know that? 你怎么知道的?
B: I have seen a film about it. 我看过关于这事的一部电影。
A: Did you see a film? 你看了部电影吗?
B: No, I didn't see a film. 没,我没有看电影。
A: Do you often see films? 你经常看电影吗?
B: No, I haven't seen a film for a long time. 不,很久没看电影了。
A: What did you think of yourself when you were young? 你如何评价你小时候?
B: I was a good boy. 我是一个乖孩子。
A: What do you think of yourself? 你如何评价你自己?
B: I have been a good boy. 我一直是个乖孩子。
A: What did you think of yourself when you were young? 你如何评价你小时候?
B: I wasn't a good boy. 我不是个乖孩子。
A: What do you think of yourself? 你如何评价你自己?
B: I haven't been a good boy. 我一直不是个乖孩子。