过去完成式是过去完成的事情但是对现在的事情产生影响
但是过去式只是表述过去发生的事情
有两点不同1含义不同:过去时表示过去发生的动作或状态.过去完成时表示过去某个时间之前已经发生或完成的动作(动作发生在过去的过去)2构成不同;过去时:动词过去式+表示过去时间的状语.过去完成时:had+动词的过去分词+时间状语hehaslivedinbeijingfor7years现在完成时helivedinbeijingfor7years一般过去式
过去进行时和一般过去时的区别:
都用以表示过去发生的动作.一般过去时表示在过去某个时间发生的动作或存在的状态,而过去进行时则表示在过去某一时刻或一段时正在进行的动作.例如:
Iwasdrawingahouseyesterdayevening.昨晚我在画房子.(可能没画完)
Idrewahouseyesterdayevening.昨晚我画了一座房子.(已经画完了)
Wewerebuildingabridgelastwinter.去年冬天我们建桥了.(可能没建好)
Webuiltabridgelastwinter.去年冬天我们建了一座桥.(已经建好了)
Tomwasreadingastory-booklastweek.上个星期汤姆在读一本小说.(还没读完)
Tomreadastory-booklastweek.上个星期汤姆读了一本小说.(读完了)
Marywrotealettertoherfriendlastnight.
玛丽昨晚给她的朋友写了封信.(信写完了)
Marywaswritingalettertoherfriendlastnight.
玛丽昨晚一直在给她的朋友写信.(信不一定写完)
现在完成时与一般过去时的区别
现在完成时表示过去的动作对现在造成的影响、结果或表示过去的动作或状态一直持续到现在,而一般过去时则强调过去发生的动作,不对现在造成影响.例如:
①---Haveyoumilkedthecow?---你挤过牛奶了没有?
---Yes,Ihave.---是的,我挤过了.
---Whendidyoumilkit?---你什么时候挤的?
---Imilkeditanhourago.---我半个小时之前挤的.
②---HehasgonetoLondon,hasn’the?
---他到伦敦去了,是吗?(现在的结果:人不在这里.)
---Yes,hehas.---是的.
---Howdidhegothere?---他是怎样去的?(指过去.)
---Hewenttherebyplane.---他是坐飞机去的.(指过去.)
由以上例句看出:当表示“某人已经做过某事”或“询问某人是否做过某事”时,常用现在完成时;当“询问某人何时何地做的某事”时,则用一般过去时.再例如:
---Haveyouseenthefilm?---你看过这部电影吗?
---Yes,Ihave.---是的.
---Whendidyouseeit?---什么时候看的?
---Isawityesterday.---昨天.
(1)表示过去发生或已经完成的某一动作对现在造成的影响或结果,常与already,just,yet,ever,never等连用.例如:
Haveyoufinishedyourworkyet?你完成你的工作了吗?
Yes,Ihave.Ihavejustfinishedit.是的,我刚完成.
Ihavealreadyfinishedit.我已经完成了.
No,Ihaven''tfinishedityet.不,我还没有完成.
Haveyoueverbeentoachickenfarm?你去过养鸡场吗?
Yes,Ihave.是的.
No,Ihaveneverbeentoachickenfarm.不,我从来没有去过养鸡场.
(2)表示过去已经开始,持续到现在的动作或状态,可以和表示从过去某一时刻延续到现在(包括”现在”在内)的一段时间的状语连用.例如:for,since,now,today,thismonth,thisyear等.例如:
IhaveknownLiLeiforthreeyears.我认识李雷已经三年了.
Ihavelivedheresince1980.从1980年开始我就住在这里.
Ihavebeenatthisschoolforoverfourteenyears.我在这个学校已经超过14年了.
①for和表示一段时间的词组连用.例如:fortwominutes,forfivehours,fortendays,forthreeweeks,forfourteenmonths,fortwentyyears.
②since和表示过去某一时刻的词或词组连用.例如:sinceeighto''clockthismorning,sincelastSunday,sincefiveweeksago,sinceOctober等等.Wehaveplantedmanytreesthisyear.Mymotherhasmademanycakestoday.但如果说话人所感兴趣的只是在这段时间内发生了某一动作,而不是这一动作与现在的关系时,须用过去时态.例如:
Ourschoolbuiltanewbuildingthisyear.
(3)have(has)been和have(has)gone的区别:表示“曾到过某地”,要用have(has)been,不能用have(has)gone.例如:
Wherehashebeen?他刚才到哪儿去了?(他已回来了.)
Wherehashegone?他到哪儿去了?(他现在不在这里.)
ShehasbeentoShanghai.她到上海去了.
(她可能在去上海的路上或已到上海,总之现在不在这里.)