现在完成时用法详说 一、现在完成时的两种基本用法(1) 已完成用法(影响性用法)。该用法的现在完成时表示一个过去发生的动作在过去已经完成,并且这个过去发生并完成的动作对现在有影响或结果,同时说话强调的或感兴趣的就是这个影响或结果:
He has left the city. 他已离开这个城市。(结果:他不在这个城市)
http://
yingyu.
chazidian.
comSomeone has broken the window. 有人把窗户打破了。(结果:窗户仍破着)
Have you seen my bag? 你看到我的手提包了吗?(结果:你知道它在哪里吗?)
(2) 未完成用法(持续性用法):该用法的现在完成时表示一个过去发生的动作并未在过去完成,而是一直持续到现在,并且有可能继续下去(也可能到此结束):
Have you waited long? 你等了很久吗?
We have been busy this afternoon. 今天下午我们一直很忙。
The temperature has stayed hot this week. 这星期天气一直很热。
【注】除以上用法外,现在完成时还可表示过去的重复动作甚至将来动作:
He has always gone to work by bike. 他总是骑自行车上班。
I’
ll go to bed when I’
ve finished my homework. 我做完作业后就上床睡觉了。
&
nbsp;
二、与现在完成时连用的常用词语能与现在完成时连用词语很多,如副词
just,
already,
yet,
before,
ever,
recently 等,但下面是一些典型而且重要的例子:
(1) since(自从):不管用作介词、连词还是副词, 句子(主句)谓语通常都用现在完成时:
I haven’
t seen her since last week. 自上周以来我一直未见过她。
Where have you been since I last saw? 自我上次见到你之后你到哪里去了?
【注】有时可用其他时态的情况,但须注意:
① 对于某些表示状态的动词(如
seem 等),或因语义等方面的原因,有时可能用一般现在时比较现在完成时更合适:
It seems like years since we last met. 我们似乎几年未见面了。
Since when does the $42
plus $5
service charge come to $48? 从什么什候开始42元加5元的服务费等于48元了?
② 若不是指从过去持续到现在,而是指从较远的过去持续到在一个较近的过去,则用过去完成时:
Yesterday he told me that he hadn’
t eaten anything since Tuesday. 他昨天告诉我自星期二以来他一直未吃任何东西。(指从星期二至昨天未吃东西)
③ 表示时间长度时,通常用一般现在时代替现在完成时:
It’
s ten years since he left here. 他离开这儿已10年了。
(2) so far(到目前为止):(from
http://
yingyu.
chazidian.
com)
So far there has been no bad news. 到现在为止还没有什么坏消息。
We haven’
t had any trouble so far. 到目前为止,我们还没有遇到任何麻烦。
&
nbsp;
&
nbsp;
(3) in [
for,
during]
the past [
last] …
years(在过去…年中):
In the past two years I’
ve seen him little. 过去两年我很少见到他。
I have been here (
for)
the last [
past]
month. 最近一个月里我都在这儿。
【注】在一定的上下文里,若是以过去时间为起点,也可用过去完成时。
(4) up to [
until]
now(到现在为止):
Up to now,
the work has been easy. 到现在为止这工作还算容易。
I have heard nothing from him up to now. 到现在为止我还没有听到他一点音信。
(5) It’
s [
will be]
the first time that…(第一次…):
It’
s the first time I’
ve come here. 这是我第一次来这儿。
Don’
t forget,
it’
ll be the first time I’
ve spoken in public. 别忘了,这是我第一次在公共场合发言。
&
nbsp;
三、现在完成时与一般过去的区别现在完成时的已完成用法很容易与一般过去时相混淆,其区别是:前者强调对现在的影响和结果,后者不强调这个影响和结果,而是强调这个动作发生的时间是在过去:
I’
ve lived here for ten years. 我在这里住了10年。(现在仍住这儿)
I lived here for ten years. 我在这里住过10年。(现在不住这儿了)
He has bought a house. 他买了一栋房子。(现在已拥有这房子)
He bought a house ten years ago. 他10年前买了一栋房子。(现在是否仍拥有这房子不清楚)
【注】有些副词或介词短语(如
just,
before,
recently,
in the past等)根据情况,既可与现在完成时连用也可与一般过去时连用。
&
nbsp;
四、have been to 和have gone to两者均可后接地点,前者表示去过某地,通常可与表示次数的状语连用;后者表示到某地去了,强调说话的当时去某地的人不在场。比较:
He has been to Paris three times. 他去过巴黎三次。
He has gone to Paris. 他去巴黎了。(即现在不在这儿)
【现在完成时用法详说】相关文章:
★ 现在分词
★ 高中英语现在分词作状语的用法
★ 现在进行时的练习题
★ 现在进行时的用法与结构
★ 英语现在完成时的基本结构
★ 英语一般现在时用法规则
★ 英语一般现在时用法小结
★ 小升初衔接语法:现在进行时的用法
★ 将来进行时的用法
★ 初中英语现在完成时的句型