4.现在完成时
由 have (has) + 过去分词构成,其用法是:
4.1 过去发生的但对现在造成一定影响的动作,可以不用时间状语,也可和表示过去的时间状语连用,常见的有 already, yet, never, before 等。
例如:I have been to Hong Kong many times. 我去过香港很多次。
They have already published the results of their experiments. 他们已经发表了实验结果。
4.2 表示从过去某时间开始一直延续到现在(可能还要继续下去)的动作,常用于含有延续意义的动词,并且一般要跟一个表示一段时间的状语,例如: since, for two years, so far, in recent years 等。
例如:He has lived here since 1949. 自从 1949 年以来,他一直住在这儿。
He has learned English for about two years. 他学英语已经大约两年了。
4.3 比较过去时与现在完成时
1 )过去时表示过去某时发生的动作或单纯叙述过去的事情,强调动作;现在完成时为过去发生的,强调过去的事情对现在的影响,强调的是影响。
2 )过去时常与具体的时间状语连用,而现在完成时通常与模糊的时间状语连用,或无时间状语。
一般过去时的时间状语 :
yesterday, last week, …ago, in1980, in October, just now, 具体的时间状语
共同的时间状语 :
this morning, tonight, this April, now, once, before, already, recently, lately
现在完成时的时间状语
for, since, so far, ever, never, just, yet, till / until, up to now, in past years, always,
3 )现在完成时可表示持续到现在的动作或状态,动词一般是延续性的,如 live, teach, learn, work, study, know.
过去时常用的非持续性动词有 come, go, leave, start, die, finish, become, get married 等。 举例:
I saw this film yesterday. (强调看的动作发生过了。)
I have seen this film. (强调对现在的影响,电影的内容已经知道了。)
Why did you get up so early? (强调起床的动作已发生过了。)
Who hasn't handed in his paper? (强调有卷子,可能为不公平竞争。)
She has returned from Paris. 她已从巴黎回来了。
She returned yesterday. 她是昨天回来了。
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 为短暂行为。 )
I have finished my homework now.
---Will somebody go and get Dr. White?
---He's already been sent for.
句子中如有过去时的时间副词(如 yesterday, last, week, in 1960 )时,不能使用现在完成时,要用过去时。
(错)Tom has written a letter to his parents last night.
(对)Tom wrote a letter to his parents last night.