现在完成时的用法
一、构成方法
过去完成时由“have
[has]+过去分词”构成。
二、基本用法
1.
已完成用法(影响性用法)。该用法的现在完成时表示一个过去发生的动作在过去已经完成,并且这个过去发生并完成的动作对现在有影响或结果,同时说话强调的或感兴趣的就是这个影响或结果:
she’s
gone
to
bed.
她睡觉了。(结果:她现在在床上)
have
you
seen
my
key?
你看到我的钥匙了吗?(结果:你知道它在哪里吗?)
he
has
eaten
nothing
today.
他今天什么也没吃。(结果:他现在一定很饿)
2.
未完成用法(持续性用法):该用法的现在完成时表示一个过去发生的动作并未在过去完成,而是一直持续到现在,并且有可能继续下去(也可能到此结束):
have
you
waited
long?
你等了很久吗?
we
have
been
busy
this
afternoon.
今天下午我们一直很忙。
i’ve
waited
a
week
for
your
answer.
等你的回答我等了一个星期。
【注】除以上用法外,现在完成时还可表示过去的重复动作甚至将来动作:
he
has
always
gone
to
work
by
bike.
他总是骑自行车上班。
i’ll
go
to
bed
when
i’ve
finished
my
homework.
我做完作业后就上床睡觉了。
三、since与现在完成时
since不管用作介词还是连词,句子(主句)谓语通常都用现在完成时:
he
has
lived
here
since
1999.
自1999年以来,他就一直住在这儿。
i
haven’t
heard
from
him
since
he
left.
他走之后我还没接到过他的信。
【注】表示时间长度时,通常用一般现在时代替现在完成时:
it’s
ten
years
since
he
left
here.
他离开这儿已10年了。
四、现在完成时与一般过去的区别
现在完成的已完成用法很容易与一般过去时相混淆,其区别是:前者强调对现在的影响和结果,后者不强调这个影响和结果,而是强调这个动作发生的时间是在过去:
i’ve
lived
here
for
ten
years.
我在这里住了10年。(现在仍住这儿)
i
lived
here
for
ten
years.
我在这里住过10年。(现在不住这儿了)
【注】在有些情况下(如与副词just,
before,
recently等连用时),用现在完成时和一般过去时均可:
he
[has]
just
left
the
office.
他刚刚离开办公室。
i
(have)
read
the
book
before.
我以前读过这本书。
i
saw
[have
seen]
her
recently.
我最近见过她。
五、have
been
to
和have
gone
to
两者均可后接地点,前者表示去过某地,通常可与表示次数的状语连用;后者表示到某地去了,强调说话的当时去某地的人不在场。比较:
he
has
been
to
beijing
three
times.
他去过北京三次。
he
has
gone
to
beijing.
他去北京了。(即现在不在这儿)