现在完成时的时间状语

(1)现在完成时属于现在时范围,故不能和过去的时间状语连用。如:yesterday,lastSunday,in1990,threeyearsago等。但是,在强调动作产生的后果和影响时,可以和一些表示不确定的时间状语连用。

a.用副词already和yet。already一般用于肯定句中,yet一般用于否定句和疑问句中。

如:Wehavealreadyfinishedourhomework.我们已完成作业了。

Theyhaven'tfinishedtheirhomeworkyet.他们还没有完成作业。

b.用ever和never。多用于否定或疑问句中,表示“曾经”或“从未“等。

如:-HaveyoueverbeentotheGreatWall?你曾经去过长城吗?

-IhaveneverbeentotheGreatWall.我从未去过长城。

c.用表示到说话为止的过去时间状语,如just,before,uptonow,thepastfewyears等。

例如:Ihaveseenherbefore,butIcannotrememberwhere.

我以前见过她,但记不起在哪里见过。

Hehasbeentherethreetimesthelastfewdays.

近几年他去过那里三次了。

d.用包括“现在”在内的时间状语,如:now,today,thismorning(month,year,term)等。

例如:-Haveyoumethimtoday?-No,Ihaven't.

今天你见过他吗?我没有。

Howmanytimeshaveyoubeentherethisyear?

今年你去过那里多少次?

(2)现在完成时可以和带有since或for等表示“一段时间”的状语连用,表示动作或状态从某一时刻开始,一直持续到现在。如:Ihaven'tseenhimfortwoyears.但是,像come,arrive,buy等终止性动词不能与表示“一段时间”的状语连用。要用,必须改为“be(在)”等延续性动词来表述

现归纳总结一下由非延续性动词到延续性动词的转换:

arrive→behere

begin(start)→beon

die→bedead

comeback→beback

leave→beaway

fallill(sick,asleep)→beill(sick,asleep)

getup→beup

goout→beout

finish→beover

puton→wear或beon

open→beopen

join→bein或beamemberof…

close→beclosed

gotoschool→beastudent

borrow→keep

buy→have

catch(acold)→have(acold)

gettoknow→know

begintostudy→study

cometowork→work等

如:Hehasbeenasoldierforthreeyears.他参军三年了。

Hisfatherhasbeendeadfortwoyears.他父亲去世二年了。

Thefilmhasbeenonfortenminutes.电影已开始十分钟了。

WehavestudiedEnglishforthreeyears.我们(开始)学英语已三年了。