三、完成时
完成时是用来表示动作的完成与未完成的情况。完成时包括现在完成时、过去完成时和将来完成时。
A.现在完成时
1.现在完成时的构成
现在完成时的构成形式是“have / has +过去分词”。现在完成时常被称为“与现在有联系的过去”,因此它不能与明确的过去时间状语连用。
Someone
has broken the window.
有人把窗户打破了。
I
haven't seen much of her lately.
我最近不常见到她。
How long
have they been married?
他们结婚多长时间了?
2.现在完成时的用法
①表示结果的现在完成时
现在完成时着眼于过去的动作对现在产生的结果或影响。这是现在完成时的“已完成”用法,表示动作或过程发生在说话之前就已完成,并与现在有联系。这种联系实际上就是“过去的动作”对现在的影响或产生的结果。
I have
bought a pen.
我买了一支笔。(结果:I
have a pen now.)
The
temperature has increased by 10℃.
温度上升了10摄氏度。(结果:It
is quite hot now.)
Air
pollution has taken the lives of many people.
空气污染已经夺去了很多人的生命。(结果:Air
pollution is very serious now.)
注意:
现在完成时的上下文所指的时态必须呼应。
【误】I
have bought a pen but I have lost it now.(have
bought表示你现在已经有笔了,这和后面的have
lost有矛盾)
【正】I
bought a pen but I have lost it now.
我(过去)买了一支笔,但我已经把它丢了。
【误】I
have lost my pen but I have found it now.(have
lost强调你现在已经没有笔了,与后面have
found的意思有冲突)
【正】I
lost my pen but I have found it now.
我丢了一支笔,但现在已经找到了。
②表示经历的现在完成时
强调过去某一时刻到说话时这段时间中的经历。
Have you
ever been to the Great Wall?
你去过长城吗?
I have
visited Beijing at least ten times.
北京我至少访问过十次了。
She has
never spent a holiday at the seaside.
她从未到海滨度过假。
③表示延续的现在完成时
这是现在完成时的“未完成”用法,表示一个动作或状态从过去某时开始,持续到现在,可能要继续下去。
He's
loved fishing for a long time.
他爱好钓鱼为时已久。(他现在仍爱好钓鱼)
I have
lived here for more than thirty years.
我已在这儿住了三十多年了。(也许还会继续住下去)
注意:
现在完成时的“未完成”用法既可用于动态动词(主要是持续动词),也可用于状态动词,但它一般不适用于表示短暂动作或位置转移的动词,如:open,
break, go, come, arrive, leave等。如用这类动词表示“未完成”,通常只限于否定结构。
I
haven't seen a film for weeks.
我已经好几个星期没看电影了。
She
hasn't written to me since September.
自从9月份以来她还没给我写过信呢。
3.现在完成时的时间状语
①与现在完成时“已完成”用法连用的时间状语
现在完成时表示的动作或状态发生在现在时间以前的某个未明确指出的过去时间内,和它连用的时间状语要与现在时间有关,不能是明确地表示过去的时间状语。
a.不确定的过去时间状语:already,
yet, before, recently, lately等
I've
seen the film before.
我以前看过这部电影。
Have you
been there lately?
近来你去过那里吗?
b.频度时间状语:often,
sometimes, ever, never, once, rarely等
We have
never heard of that.
我们从未听说过这事。
He has
sometimes played tennis.
他有时打网球。
Big Ben
has rarely gone wrong.
大本钟很少出差错。
c.包含现在时间在内的时间状语:now,
just, today, this morning, this week, this year等
I have
just finished the letter now.
我现在刚写完信。
You have
just missed the bus.
你刚好错过公共汽车。
Has he
done much work today?
他今天做了很多工作吗?
比较:already和yet用法上的区别
already常用于肯定句,置于句中。yet常用于否定句和疑问句,置于句末。但already有时也可用在疑问句中暗示惊讶的心情。
She has already
gone.
她早就走了。
Have you
eaten your dinner already?
你已经吃过饭了?
He has
not come yet.
他还没有来。
②与现在完成时“未完成”用法连用的时间状语
与“已完成”用法一样,表示具体的过去的时间状语不能与“未完成”用法连用。与其连用的往往是指一段时间的状语以具体表示某一动作或状态持续了多久。
a. since
+具体时间,表示动作或状态从何时开始
Since
then, he has developed another bad habit.
自那以后他养成了另一个坏习惯。
He
hasn't been home since he graduated.
他毕业后就没回过家。
b. for +一段时间,表示动作或状态持续了多久
We have
worked here for ages.
我们在这里工作很久了。
There
has been no rain here for nearly two months.
这里已经近两个月没有下雨了。
c. until
now, up till now, so far, up to the moment
到目前为止
I have
not seen him so far.
到目前为止我没见过他。
Up to
the present, everything has been OK.
到目前为止一切正常。
d.
in/during the past/last five years
在刚刚过去的5年里
He has
been away from school during the last few weeks.
过去的几个星期里他没在学校。
In the
past few years they have dealt with quite a few international corporations
successfully. 在过去的几年中他们已经和好几家跨国公司做成了生意。
e. all
the while, all day一直,一整天
She has
been busy all day.
她忙了一整天。
|