英语中各时态的主要用法总结
不强调动作发生的时间,通常用于描述习惯、事实等。
Igotoworkeveryday.我每天去工作。
Heworksinfinance.他在金融业工作。
Thetrainleavesat9:30tomorrowmorning.火车明天早晨9点30分发车。
用法1:用来描述说话时正在发生的动作。
Johnissleepingatthemoment.John此时正在睡觉。
用法2:用来表达未来安排。
We’reflyingtoSpaintomorrow.我们明天去西班牙。
用法1:用来强调动作在过去已经完成了。
I’velostmypen.我的笔丢了。
用法2:用来表达动作在过去的某一时刻开始,并且目前仍在进行,此种用法下句中通常包含介词for和since。
Shehasbeenheresince8o’clock.她从8点就一直在这。
IhavelivedinItalyformanyyears.我生活在意大利很多年了。
用法1:用来表示从过去开始的动作一直持续到现在(还可能继续持续下去),强调动作持续的时间。
I’vebeenwritingforoveranhour.我已经等了一个多钟头。(目前仍在等待)
用法2:表示动作是最近发生的。
Thatbaglooksnew.Haveyoubeenshopping?那个包看起来很新,你最近购物了吗?
Hehasn’tbeensleepingalotlately.他最近一直没怎么睡觉。
表示一个动作在过去发生过,如果是持续性的动作则表示该动作没有持续到现在。
Sheworkedinfinancebeforethisjob.在这个工作之前,她在金融业工作。
WelivedinChinaforsixyearsafterIgraduatedfromcollege.我大学毕业之前,我们在中国生活了6年。(目前不在中国生活了)
强调该动作在过去的某一时刻正在发生,可以理解为“当时正在”。
Iwasreadingabookwhentheyarrived.他们到来时我正在看书。
WereyousleepingwhenIcalled?我打电话的时候你当时正在睡觉吗?
强调动作在过去的某个时刻之前发生了,通常与一般过去时联用,可以理解为“当时已经”。
ThemoviehadalreadyendedwhenIturnedontheTV.我当时打开电视的时候,电影已经结束了。
强调工作在过去开始,并且在过去的某一时刻或者另一个动作开始的时候仍然处于持续状态,可以大致理解为“当时一直”。
WhenIarrivedatthebusstop,theotherpeopletherehadbeen
waitingfornearlyanhour.我当时到达公交站的时候,其他人已经等了快一个钟头了。(当时一直在等,我到公交站之后依然继续等)
HadshebeenlivinginItalyforalongtime?她当时在意大利一直住了很长时间吗?
Hehadbeenfeelingunwell,sohewenttoliedown.他当时一直觉得不舒服,所以他去小睡了。
强调动作将来发生。
TheQueenwillbeinRometomorrow.女王明天在罗马。
Ithinkit’sgoingtoraintomorrow.我认为明天会下雨。
强调动作在将来依然会持续,无论该动作发生在过去、现在和将来。
Youshouldn’tcalltheirhousenow;theywillbesleeping.你现在不应该给他们打电话了,他们睡着了。(目前处于睡觉的状态,将来依然会持续)
Wewon’tbeleavinguntiltheevening.夜晚到来之前我们不会离开。
用法1:强调动作持续到将来的某个时刻或者在将来的某个时刻完成,通常用来描述动作从发生到完成持续的时间,可以理解为“将来已经”。
ByOctoberwewillhavelivedinthishousefor20years.到十月我们就在这个房子住满20年了。
Afterthisnextrace,Iwillhavecompleted10triathlons.这场比赛之后,我就完成10场马拉松了。
用法2:预测某事应该已经发生了。
Youwillhaveheardbynowthatthecompanyisgoingbankrupt.你应该已经听说公司破产的消息了。
用法1:描述动作一直持续到将来的某一时刻并且有可能会继续持续下去,通常用来强调动作持续的时间。
She’llhavebeenwaitingfornearlyanhourbythetimewearrive.在我们到达之前,她还得等接近一个钟头。
Howwillhehavebeencopingonhisownforalltheseyears?往后这些年他自己一个人怎么办?
用法2:用来描述可能造成的某种结果的动作,表达一种预测。
Hewon’thavebeensleepingforverylong,butIhavetowakehimup.他不会睡太长时间,但是我不得不叫醒他。
Ibethe’llbehungrybecausehewillhavebeenstudyingstraightthroughlunch.我打赌他会饿的,因为他会在午饭期间一直学习。
1.句中出现确切时间的时候,不能使用现在完成时。
不能说I’velostmykeysyesterday.
只能说Ilostmykeysyesterday.
但是可以说IhavegotthreeclassesonMonday.不过此用法不正式。
2.在对话中,现在完成时有隐含的“刚刚”的意思。
A:Whyareyoulate?你为什么迟到?
B:I’velostmykeys.我刚把钥匙弄丢了。
He’stakenthedogtothepark.他刚去公园遛狗了。
I’vehadlunch.我刚吃完饭。
而这意思非常相近,大部分情况下可互换。
IhavebeenlivinginNewYorkCityforthreeyears.
IhavelivedinNewYorkCityforthreeyears.我在纽约住了三年。
下面这个句子只能用现在完成进行时,因为句子中提到的whileIfinishmyPh.D这个阶段,需要live动作一直延续。
IhavebeenlivinginNewYorkCitywhileIfinishmyPh.D.
不能说:IhavelivedinNewYorkCitywhileIfinishmyPh.D.
表达动作持续的时间时,而这意思不同。
Hehastalkedonthephoneforalmostanhour.他几乎打了一小时的电话。(已经打完了)
Hehasbeentalkingonthephoneforalmostanhour.他已经快打了一小时的电话。(目前还可能在打电话)
下面这个例子用现在完成进行时更恰当:
A:“Let'stakethelongertrailwhenwe'rehikingbackdown.”我们远足回来的时候绕一下更远的小路吧。
B:“Butwehavewalkedforthreehours!”但是我们已经走了三个小时了!
B:“Butwehavebeenwalkingforthreehours!”但是我们已经连续走了三个小时了!(这样回答更能体现动作持续的时间,而且能强调说话时还在进行)
现在完成进行时还可以表达“已经一直”:
Ihaveworkedintheshopforthreeyears.我已经在这个商店工作三年了。
Ihavebeenworkingintheshopforthreeyears,butIhopetofindsomethingelsesoon.”我已经一直在这个商店工作三年了,但是我最近希望找点别的事情做。
现在完成进行时还可以表达最近发生或者完成的动作:
Don'tyouthinkMaryhasbeenspendingtoomuchtimeonthecomputerlately?”你不认为Mary最近在电脑上花了太多时间了吗?
即使动作没有持续到现在,如果想强调“一直”也可以使用现在完成进行时:
SorryI'msosweaty!I’vebeenexercisingallmorning.对不起我出了很多汗,我早晨一直在锻炼。(此刻并没有在锻炼)
Myneighborsareangrybecausemydoghasbeenbarking.我的邻居们很生气因为我的狗最近一直在叫。(狗此时可能没有叫)
以下是几个现在完成进行时的例句:
Ihavenotbeenwritingmuchrecently.我最近没怎么写作。
Shehasn'tbeentryingtofindworksinceherdivorce.她离婚之后没有一直尝试找工作。
Wherehaveyoubeenlivinglately?你最近一直住在哪?
HasshebeenfeelingOK?她最近还好吧?
Whyhaveyoubeenlyingtome?为什么你一直对我撒谎?
Haven'tyoubeenwritinganewbook?难道你最近没有在写新书吗?
Hasshenotbeenfeelingwell?她一直感觉不太好吗?
Whyhaven'ttheybeenworkingontheirhomework?他们为什么一直没写作业?
下面是一些使用过去完成时的例句:
WhenIturnedontheTV,thefilmhadended.当我打开电视的时候,电影已经结束了。
Unfortunately,hehadnottakenhiskeysbeforeheleftthehouse.不幸的是,他当时离开家的时候并没有带钥匙。
当句中出现when的时候,一般过去时和过去完成时表达的意思不同:
Marycookeddinnerwhenthekidscamehome.孩子们到家的时候妈妈做晚饭了。(意思接近于孩子到家之后,妈妈才开始做饭)
Maryhadcookeddinnerwhenthekidscamehome.孩子们到家的时候,妈妈已经做好晚饭了。(孩子到家之前,妈妈已经做好了)
当句中出现before或者after的时候,因为这两个词本身表达了两个动作的先后顺序,不需要过去完成时,使用一般过去时也可以:
IpackedabagofsnacksbeforeIleftfortheairport.我动身去机场前带了一袋零食。
IhadpackedabagofsnacksbeforeIleftfortheairport.
换成过去完成时也可以,但是没有必要。
过去完成时与否定副词可以使用倒装,多为书面写法,有夸张的意思:
NeverhadIfeltsoalive.我从没有感觉过这么有活力。
Neverhadsheimaginedthatlovelikethiscouldexist.她从没想象过这样的爱情可以存在。
以下两个例句分别为过去完成进行时和现在完成进行时,意思稍有不同:
Shehasbeenwaitingforoveranhourforhimtoarrive.为了他的到来,她已经等了一个多小时。(现在还在等)
Shehadbeenwaitingforoveranhourforhimtoarrive.为了他的到来,她当时一直等了一个多小时。(现在没有在等)
使用过去进行时的动作要比过去完成进行时的动作时间上要近一些,过去完成时可以表达“刚才”,“刚刚”,过去完成进行时一般表达“最近”。
MyeyesweretiredbecauseIwasworkingonthecomputer.我的眼睛当时很累因为我那会在用电脑工作。
MyeyesweretiredbecauseIhadbeenworkingonthecomputer.我的眼睛当时很累因为我最近一直在用电脑工作。
两种时态意思几乎一样,稍有不同的是将来完成时强调动作的完成,而将来完成进行时强调动作的进行:
BythetimeIgetthere,shewillhavewaitedforoveranhour.等我到那的时候,她还得等一个多小时。
BythetimeIgetthere,shewillhavebeenwaitingforoveranhour.等我到那的时候,她还得一直等一个多小时。
免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!
新励学网教育平台
海量全面 · 详细解读 · 快捷可靠
累积科普文章数:18,862,126篇