一般时
一般现在时:do
一般过去时:did
一般将来时:will do
一般现在时:do
① 表经常发生的动作
I always help others(我常帮助他人)
② 表客观事实、真理
The sun rises in the east(太阳从东边升起)
③ 表知觉,状态
I have a book (我有一本书)
一般过去时:did
表过去的发生的动作,状态或习惯
I saw him yesterday(昨天我看到了他)
He always rose early in the morning(他以前总起起得早)
一般将来时:will do
表将来发生的动作或状态
He will live in a big city(他将居住在大城市)
注意:
有连词when、unless、if、once所引导的状语从句表某条件时,一定要用一般现在时,而主句用一般将来时
例:When I have money,I will buy a car.(当我有钱的时候我会买一辆车)
is/am/are going to do = will do 将要
进行时
现在进行时:be(is、am、are) doing
过去进行时:was/were doing
将来进行时:will be doing
现在进行时:be(is、am、are) doing
① 表示现在时刻正在进行的动作
He is writing a letter.(他正在写一封信)
过去进行时:was/were doing
表过去某时刻正在进行的动作
He was taking a bath when you called.(你打电话来时他正在洗澡)
将来进行时:will be doing
表将来某个时间正在发生的动作
This time next day they will be sitting in the cinema.(明天这个时候他们会坐在电影院里)
完成时
现在完成时:have/has done
过去完成时:had done
将来完成时:will have done
现在完成时:have/has done(过去分词)
① 完成状态
用以表示到现在为止完成的动作(动作不延续,瞬间完成或时间很短)
She has already come (她已经来了)
② 未完成状态
用以表示过去某一时间开始到现在为止仍在继续的动作或状态(适用于延续性的动作)
Shehas lived here for 10 years. (她已经在这里住了10年了),
过去完成时:had done
用以表示截至过去某时为止所完成的动作或状态
1. He had already left when I came.(我来时他已经离开了)
2.He had studied English for 10 years before he left for the states(发去美国之前已经学了10年英语)
注意
过去完成时不能单独存在,要与另一个一般过去时或表过去的副词短语连用,即呈现过去不同时间发生的两个动作,先发生的用过去完成时,后发生的用一般过去时。
将来完成时:will have done
表到将来某时为止所完成或仍在继续的动作或状态
状态:He will have worked here for 10 years by the end of this month(到月底他就在这里工作10年了)
动作:
You will have reached Shanghai by this time tomorrow. (明天的这个时候你就到上海了。)
注意:
完成时态都是站在某个时间点来描述此时间点之前所发生的动作或状态。所以,如果句子的上下文中没有明确的表示出这个时间点,就不能使用完成式。例如:
He had already left . (×)
You will have reached Shanghai. (×)
完成进行时
现在完成进行时:have/has been doing
过去完成进行时:Had been doing
将来完成进行时:will have been doing
现在完成进行时:have/has been doing
用以表示一直持续到现在且仍将持续下去的动作
Tom has been playing basketball for 3 hours.(汤姆已经打了3个小时的篮球了——仍将继续打)
现在完成进行时与现在完成时的区别
① 现在完成进行时表示一个正在进行的动作,而现在完成时表示一个已经完成的动作
He has been writing a letter. 他一直在写一封信(未完成)
He has written a letter. 他写了一封信(已完成)
② 有些持续性动词如live、work、teach、study、stay用这两种时态含义基本一样,只是在强调动作的持续性时,用现在完成进行时。例:
He has worked here for 20 years.他在这里工作了20年(陈述事实)
He has been working here for 20 years. 他在这里工作了20年(工作时间很长,他真有定力)
③ 带有感情色彩时用现在完成进行时
l have waited for 2 hours.我等了两个小时(陈述事实)
I have been waiting for 2 hours,我等了两个小时(等得很辛苦,我靠,这个人怎么总是迟到)
具体使用现在完成时(未完成状态)还是现在完成进行时,要看上下文和当时的情景
过去完成进行时:Had been doing
用以表示一直持续到过去某时,而当时仍将继续的动作,和过去完成时一样,不能单独存在,需要与一般过去时连用。
I had been sleeping when she came.(她来时我仍然在睡觉)
将来完成进行时:will have been doing
表示一个已经开始,到将来某时刻仍将继续进行的动作,常和表将来某一时间的状语连用
I will have been teaching English for ten years by the end of this year.(到今年年底我教英语将有10年了)
过去将来时
一般过去将来时:would do
过去将来进行时:would be doing
过去将来完成时:would have done
过去将来完成进行:would have been doing(很少用)
过去将来时和将来时的区分
过去将来时和将来时的用法基本一致,唯一不同的是将来时是从现在(now)这个时间点来看将要发生的动作,而过去将来是从过去的某个时间点来看其未来即将发生的动作
一般过去将来时:would do
表示站在某个过去的时间点来看将会发生的动作
He said he would tell me the truth(他说过他会告诉我真相)
过去将来进行时:would be doing
站在某个过去的时间点,从这个时间点看之后的时间点(或时间段)正在发生的动作。
He knew that I would be living in China next month.
过去将来完成时:would have done
表示从过去观点看将来某时某动作已完成
I guessed that Mother would have made some sandwiches by the time we got back.(我猜我们回来时妈妈已经做好一些三明治了)
过去将来完成进行:would have been doing(很少用)
用以表示在过去的某个时间点之后正在发生的动作
I knew by that time he would have been working there for 30 years. (我知道到那时他他就在那儿工作满30年了。)
参考资料:赖世雄经典语法、English Grammar In Use、英语语法新思维、百度百科、Wikipedia