现在完成时和一般过去时的区别现在完成时和一般过去时都表示一个在过去完成的动作,但现在完成时强调的是与现在的关系,如对现在产生的结果或影响等,属于现在时范围,谈论的是现在的情况
而一般过去时只表示动作在过去某一时刻发生,不表示和现在的关系,现在情况可能已发生变化
Whoopenedthedoor
(“谁开的门
”只强调过去开门这一动作,门现在可能已关上
)Whohasopenedthedoor
(“谁把门开了
”强调门现在依然还开着
)◇现在完成时不能与明确的过去时间状语连用,如:threedaysago,lastyear,yesterday,lastSunday,in2008等等
如句中有以上这些明确的过去时间状语,应用一般过去时
再有,过去发生的一个动作,如现在情况已经发生的变化,也应用一般过去时
☆特别提醒:如果这些过去时间状语前有since,表示“自过去某一时间一直延续到现在”,应用现在完成时
Hefinishedreadingthebookthedaybeforeyesterday
Iputmyrulerinmypencil-box,butIcan’tfinditnow
MycousinhasbeeninNanjingsince2009
◇现在完成时不与when引导的特殊疑问句连用,when后只用一般过去时表示已发生的动作
但现在完成时可与where,why等疑问词连用
如:Wherehaveyoubeen
(你去过哪里了
)----Thetrainhasleft
----Whendidthetrainleave
◇since引导的时间状语从句后面用一般过去时,只有前面的主句才用现在完成时
Wehaveknowneachothersincewecametotheschooltwoyearsago
◇有些时间状语,如thismorning,thismonth,toni