现在完成时的时间状语
(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.我们(开始)学英语已三年了。