【英语语法】一个表格搞定所有英语时态
声明:本文的语法规律为个人的抽象总结,并无任何权威参考。可能有不严谨或错误说法,仅供参考。
文章目录
本文说明
时态并不是为了折磨人而出现的,使用时态是为了表达某种“时间”和“状态”的含义。
中文里也需要表达时态,常用的词有:“了”、“完”、“将”、“那会”、“之前”等。与中文不同的是,英文里通过对动词进行变形来表达时态。
本文会通过使用中文时态和英文时态的对照,来让我们轻松学会如何使用时态。
注意事项:
- 本文的时态学习是为了清晰的表达意思,而非针对考试。有些情况下,使用不同的时态或“错误(不严谨)”的时态并不会歪曲原本的意思。
- 中文里一个时态会对应不同的词(例如:之前、刚刚都可以表示过去),不同的语境下会用不同的词会比较合适。本文会以最常用的词进行举例
- 中文里很多词汇会隐含了一些时态信息(例如:以为、说过等),这是学习时态的一个难点。
- 中文里部分时态词会隐含在上下文中,而非显式的表达出来,对于这种隐含词,我会用
[]
框起来。例如:我明天[将会]去游乐场。
关于时态表示虚拟语气,不再本文的讨论范围之内。请参考另一篇文章:一个表格搞定所有虚拟语气
英语时态表格总结
时态就是“时间”和“状态”。英文中有时态,中文里也有时态。只不过,英文通过对动词进行变形来表示时态,而中文则是通过增加词来表示时态。例如:“将”、“之前”、“过去”等。
因此,我们只需要用中文的关键词来和英文中的时态对应即可很简单的掌握时态。
英语中共有16种时态,英文时态和中文的对应关系如下表(第二章会详细举例讲解)。(由于表格太大,我将会分为多个表格进行展示,对于相近的时态,放在一起做对比)
一般式:
一般现在时 | 一般过去式 | 一般将来时 | 一般过去将来时 | |
---|---|---|---|---|
时态解释 | 句子无需包含任何时间信息 | 表示事件发生在过去 | 表示未来要做的事情. (be going to 蕴含了思考的过程,中文通常对应“打算”) |
站在过去的角度,来描述将来的事情 |
英文形式 | I do it | I did it | ① I will do it ② I am going to do it |
① I would do it ② I was going to do it |
中文形式 | 我做它 | ① 我做了 ② 我做的 |
① 我将会做它 ② 我打算做它 |
① 我将会做它 ② 我打算做它 |
例句 | I love you (我爱你) The Earth obits the Sun. (地球围绕太阳运动) |
I walked to the park yesterday. (我步行去了公园) We had lunch at 1 PM. (我们下午1点吃的午餐) |
I will visit my friend tomorrow. 我明天将会拜访我的朋友. He is going to travel to Japan next month 他打算下个月去日本 |
He said the team would win the game 他说过该队将会赢得比赛 I was going to call you, but I forgot. 我本打算打给你的,但是我忘了 |
进行时:描述正在发生的事情.(be doing表示强调等其他含义不在本文讨论范围内,请参考:一个简单公式搞定所有doing用法)
现在进行时 | 过去进行时 | 将来进行时 | 过去将来进行时 | |
---|---|---|---|---|
时态解释 | 描述当下正在进行的事 | 描述“过去正在发生的事情” | 描述在未来某个时间点,你将正在进行的活动 | 站在过去的角度,来描述将来会正在进行的事情 |
英文形式 | I am doing it | ① I was doing it | I will be doing it | I would be doing it |
中文形式 | 我正在做它 | 我 [那会]正在做它 | 我将正在做它 | 我将正在做它 |
例句 | She is reading a book. 她正在读书 |
At 8 p.m. last night, I was watching a movie. 昨晚8点的时候,我 [那会]正在看电视 |
At 8 p.m. tonight, I will be watching my favorite show. 今晚8点的时候,我将正在看电视 |
She said she would be studying at 8 p.m. 她说他晚上八点将正在学习 |
完成时:完成时和过去式容易混淆。完成时也表示过去,不过更强调该事情“已经完成了”。因此,在中文里,通常会用“已经”、“刚刚”、“还没”等强调完成,而英文中用“have done”来强调完成。
现在完成时 | 过去完成时 | 将来完成时 | |
---|---|---|---|
时态解释 | 强调事情已经完成了 | 站在过去的视角,强调事情已经完成了 | 描述未来某个时间,将会做完某事 |
英文形式 | ① I have done it ② I have just done it ③ I haven't done it |
① I had done it ② I had never done it |
I will have done it |
中文形式 | ① 我已经做完了 ② 我刚刚[已经]做完了 ③ 我还没做完 |
① (在...之前), 我就已经做完了 ① 我已经做了 ② (在...之前),我从未做过 |
我将会做完它 |
例句 | She has sent the email. 他已经发送了邮件 The train has just arrived 火车刚刚已经来了 I haven't finished my homework. 我还没写完作业 |
By the time I arrived at the station, the train had left. 我到车站的时候,火车就已经离开了 He was tired because he had worked all night 他很累,因为他已经工作了一整夜了 She had never been to Beijing before last year. 在去年之前,我从未去过北京 |
By the end of the day, I will have done my homework. 今天结束前,我将会做完我的作业 She will not have completed her project by the deadline. 截止日期到时,她将无法完成她的项目 |
完成进行时:描述一个动作从之前开始,一直持续到现在。但注意,并不代表当下一定在做这件事,例如:“我已经学了6个月的英语了”并不意味着当前时刻我非要在学英语。中文里,通常使用:“已经[持续](一段时间)了” 或 “一直在做某事”来表示完成进行时。
“过去、将来、过去将来”的完成进行时和“现在完成进行时”相比,只是上下文的语境进行了互换。在中文里,一般不会刻意的强调这三种时态,而是隐含在上下文中。
现在完成进行时 | 过去完成进行时 | 将来完成进行时 | 过去将来完成进行时 | |
---|---|---|---|---|
时态解释 | 描述一个动作从之前开始,一直持续到现在 | 在过去式的语境中描述完成进行时态 | 以将来的视角描述完成进行时 | 在过去式的语境中描述“将来完成进行时” |
英文形式 | ① I have been doing it for a period of time. ② I have been doing it. |
① I had been doing it for a period of time. ② I had been doing it |
I will have been doing it. | I would have been doing it |
中文形式 | ① 我 已经[持续] 做了(一段时间)了 ② 我一直在做它 |
① 我 已经[持续] 做了(一段时间)了 ② 我一直在做它 |
我 将会已经[持续] 做了(多久)了 | 我将会已经[持续] 做了(多久) 了 |
例句 | I have been reading this book for 2 days 这本书我已经 读了两天了 He has been running since the morning. 他从早上开始就一直在跑步 |
She had been studying for hours before the test began. 在考试开始前,她已经[持续] 学了好几个小时了 He was tired because he had been running all morning. 他很累,因为他整个早上一直在跑步 |
By next year, I will have been working at this company for five years. 到明年,我将已经在在该公司工作五年了 How long will you have been waiting when the train arrives? 等火车到的时候,你将会在这等了多久了? |
He would have been studying for three hours by the time we arrived. |
还剩一个“过去将来完成时”,这个通常仅用于虚拟语气,不在本文讨论范围内。
各种英语时态举例详解
一般现在时
如果一个句子使用中文表示时,出现以下情况,则使用一般现在时:
(1) 无法插入任何时态相关的词。 例如:
- I love you. (我爱你)
- Tom usually watches TV on Sunday evenings. (Tom通常周日晚上看电视)
- The Earth orbits the Sun. (地球围绕太阳旋转)
- The train leaves at 10 o'clock. (火车[每天都]10点出发)。解释:这里指的是火车的时刻表,并不是你要坐的火车。因此,无法插入“将”,否则意思会变。
- Let the girl have breakfast by herself. (让女孩自己做早餐)
一般现在时适用于描述“人或物所处状态”、“习惯”、“实事”、“固定时刻的事件或安排”等等。上述这些情况,都可以总结为:无法插入任何时态相关的词
(2) 可以插入“现在”、“立刻”等表示现在的词,但又不能插入表示“正在”相关的词。例如:
- The ground is wet now. (地面现在是湿的)
- She is already five. (他[现在]已经五岁了)。 解释:虽然该句子中出现了“了”字,但并不用过去式或完成时,因为该“了”并不表示“过了”或“完了”。反而,该句子可以插入“现在”一词。
一般过去式
中文里通常会用“了”、“的”来表示过去时。注意:这里“了”必须是“过了”而不是“完了”。“的”不能是形容词里的“的”。
(1) 陈述句中出现“了”字,使用一般过去式。
- I walked to the park yesterday. (我昨天步行去了公园)
- They went to the zoo last weekend. (他上周去了动物园)
(2) 一些句子会使用“的”字来表示过去。
- She drove to the office this morning. (她今天早上开车去的办公室)
- We had lunch at 1 PM. (我们今天下午1点吃的午饭)
(3) 对于否定句,中文里一般不会出现“了”。
- I went to the party. He didn't go to the party. (我去了派对。他没有去派对)
- I watched the movie last night, but he didn't. (我昨晚看了电影,但是他没有)
(4) 对于疑问句中的一般过去时,中文通常使用“了吗?”
- Did you visit the museum? (你去博物馆了吗?)
- Did you play tennis yesterday? (你昨天打网球了吗?)
现在完成时
由于现在完成时容易和一般过去时混淆。因此先讲现在完成时。
当句子中出现了“了”字,就要注意了。若句子中隐含了“已经”、“刚刚”、“还”时,使用现在完成时
(1) 句子中出现“已经”,或隐含“已经”时,使用现在完成时
- She has already sent the email. (她已经发送了邮件)
- I have visited Japan. (我[已经]去过日本[了])。注意:对于“经历”,中文一般会省略“已经..了”,说成:我去过日本。
- I have lived here for five years. (我[已经]在这里生活5年了)
- Have you read the book? (你[已经]读过这本书[了]吗?)
(2) 当出现“刚刚”时,其实也是隐含了“已经”:
- She has just finishied her homework. (她刚刚[已经]完成作业了)
- The train has just arrived. (火车刚刚[已经]到了)
(3) 在否定中,中文通常使用“还没”字来表示完成时
- I haven't finished my homework. (我还没完成我的作业)
- They have not had a win so far this season. (这个赛季他们还没赢过
一般将来时
当表示“将要”、“将会”、“马上”时,需要使用“will”或“be going to”。但如果要表示“打算”时,只能使用“be going to”,尤其是第一人称
(1) 表示“将要”、“将会”时,使用一般将来时
- I will visit my friend tomorrow. (我明天将会拜访我的朋友)
- She will start her new job next week. (她下周将会开始新的工作)
- It is going to rain. (天将会/马上下雨了)
- Don't wrorry; I will be there on time. (别担心,我将会及时在那)
(2) "be going to"会隐含一个“打算”的含义
- I am going to study for the test tonight. (为了这次测试,我今晚打算学习)
- He is going to travel to Japan next month. (他打算下个月去日本)
由于"be going to"蕴含了打算的含义,因此“人称”为主语时要小心,否则容易说错话。例如:I will help you. (我会帮你的);对于这句话用"be going to"就不合适,那样就变成了“我打算帮你”,这不是很奇怪么。
现在进行时
现在进行时很简单,就是表示“正在”。
通常老师会告诉你:现在进行时可以表示“强调”、“未来的计划”、“持续的事情”、“重复的动作”等各种特殊情况。但我认为,这不是现在进行时,只不过形式刚好是“be doing”而已。详细请参考我的另一篇文章“一个简单公式搞定所有doing用法”
(1) 当句子中出现“正在”一词,或隐含了“正在”一词时,使用现在进行时。
- She is reading a book. (她正在读书)
- I am typing a message. (我正在打字发消息)
- They are studying for exams this week. (他们这周正在为考试学习)
现在完成进行时
当表达持续做一件事情时,中文会使用已经[持续]...了、一直在...,而英文则使用现在完成进行时。
(1) 当出现时间具体时长时,中文会使用“已经持续...了”,一般“持续”二字会省略。注意:这里的持续并不是说中间不停,或现在还在做。
- She has been studying English for three hours. (他已经[持续]学了2小时英语了)
- I have been reading this book for two days. (这本书我已经读了2天了)
(2) 若没有出现具体时长,中文一般使用“一直在...”
- He has been running, so he's out of breath. (他一直在跑步,所以现在上气不接下气)
- I have been learning English since last year. (我从去年开始就一直在学英语)
过去进行时
英语中,使用was doing
来描述“过去正在发生的事情”,而中文里则通常使用那会正在
来描述。不过,中文通常会省略“那会”一词。
(1) 中文里使用那会正在来描述“过去正在发生的事情”
- At 8 p.m. last night, I was watching a movie. (昨天晚上8点,我[那会]正在看电视)
- She was cooking dinner when the phone rang. (他手机铃响的时候,她[那会]正在做完饭)
- We were walking to the park when it started to rain. (当开始下雨的时候,我们[那会]正在公园散步)
(2) 特例:英文里表示两个同时发生的事情时,会用过去进行时,而中文则用"边...边..."。其实这种情况也省略了“那会”
- While he was reading a book, she was writing a letter. (他边读书,边写信)
- They were playing basketball while we were watching from the sidelines. (他们边打篮球,我们边在场边看)
过去完成时
过去完成时描述“一个过去的动作发生之前,另一个动作就已经发生了”,这里面的就已经就是中文里表达过去完成时的主要词汇。
然而,过去完成时还是比较难的,因为中文里在不同的语境下,会有很多表示过去完成时的词。
(1) 就已经...了表示过去完成时。其中,“就”表示这个动作是发生在另一个动作之前的
- By the time I arrived at the station, the train had left. (在我到车站的时候,火车就已经离开了)
- She had already eaten before we arrived. (在我们到达前,她就已经吃过了)
- They had lived in that city for ten years before moving. (在搬家前,他们就已经在那住了十年了)
- They had visited the museum before, so they didn't want to go again. (他之前就已经去过博物馆了,所以不想再去)
(2) 当表达在某事之前还未做过某事时,中文会用“在...之前,...从未..过”来表示。
- She had never been to Paris before last summer. (在去年夏天之前,我从未去过巴黎(现在去过了)。)
- She had never been to Beijing before last year. (在去年之前,我从未去过北京。)
(3) 在部分描述过去的句子中,中文的过去完成时和现在完成时一样,都是使用已经...了来表示。
- He was tired because he had worked all night. (他很累,因为他已经工作了一整夜)
过去完成进行时
过去完成进行时和过去完成时一样,都使用已经持续做了(一段时间)了和一直在做...来表示。只不过过去完成进行时的参照物是过去的事情。
(1) 已经持续做了(一段时间)了表示过去完成进行时
- She had been studying for hours before the test began. (在考试开始前,她已经持续学了好几个小时了)
- They had been working for two weeks when their boss assigned a new task. (老板派发新任务时,他已经在这个项目上持续工作两周了)
(2) 一直在做... 表示过去完成时
- He was tired because he had been running all morning. (他很累,因为他整个早上一直在跑步)
将来进行时
将来进行时描述在未来某个时间点,你将正在进行的活动。中文里用 将正在... 将来进行时,英文使用 will be doing
示例:
- At 8 p.m. tonight, I will be watching my favorite show. (晚上8点,我将正在看我最喜欢的演出)
- This time next week, they will be flying to Paris. (下周这个时间,他们将正在飞往巴黎。)
将来完成时
将来完成时是用来描述在未来的某个时间,你“将会做完”某件事情。英文中使用will have done,中文里通常使用“将会做完”来表示。但中文在不同语境下,“将会”和“做完”会有不同的表达方式。
示例:
- By the end of the day, I will have done my homework. (今天结束前,我将会做完我的作业)
- By the next year, they will have lived in this for ten years. (到明年,他们将会在这住够十年)。这里的“够”等价于“完”
- By the time you arrive, we will have eaten dinner. (等你到的时候,我们就把晚餐吃完了)。这里的‘“就把”其实是在表达“将会”
- She will not have completed her project by the deadline. (截止日期到时,她将无法完成她的项目)
- Will they have left by the time we get there? (我们到那的时候,他们将会已经离开了吗?)“已经...了”表示该动作已经完成
将来完成进行时
将来完成进行时描述“在未来某个时间点,你将已经持续做了某件事情一段时间了,并且当前还在继续持续做”。这个和“现在完成进行时”区别不大,只是在此基础上多了个将,也就是在描述未来的事情。
中文里,一般使用“将已经[持续]做了(多久)了
(1) “将已经[持续]做了(多久)了”表示将来完成进行时。不过通常“持续”在中文里不会显式的说出来,而是隐含在上下文中的。
- By next year, I will have been working at this company for five years. (到明年,我将已经[持续]在该公司工作了五年了)
- She will have been studying English for six months by the time the course ends. (到课程结束的时候,她将已经[持续]学了六个月的英语了)
- How long will you have been waiting when the train arrives? (等火车到达的时候,你将会在这等了多久了?)
一般过去将来时
一般过去将来时是“站在过去的角度,来描述将来的事情”。
句子结构通常为“sb did sb/sth would do”. 例如:I thought I would go to the park. (我以为我会去公园)
一般过去将来时在中文里很难找到对应固定的时态词,一般过去时隐藏在词本身。例如:以为、说过、决定、保证等。
示例:
- He said the team would win the game. (他说过该队将会赢得比赛)
- She decided that she would call him later. (她决定等下[将]打给他)
- They assured me they would help. (他们保证他们会帮忙)
- I was going to call you, but I forgot. (我本打算打给你的,但是我忘了)
过去将来进行时
过去将来进行时是“站在过去的角度,来描述将来会正在进行的事情”。与一般过去将来时类似,不同点在于其描述的是正在进行的事情。因此,在中文里,通常会多一个“[正]在”字(通常“正”会被省略)
示例:
- She said she would be studying at 8 p.m. (他说他晚上八点将在学习)
- I thought you would be waiting for me. (我认为你会在等我)
过去将来完成时
仅用于虚拟语气,不在本文介绍。请跳转“一个表格搞定虚拟语气”
过去将来完成进行时
和将来完成进行时类似,只不过是站在过去的角度说的。同样,中文里通常使用将已经[持续]做了(多久)了来描述将来完成进行时。
示例:
- He would have been studying for three hours by the time we arrived. (我们到的时候,他将已经学习3个小时了)
- I would have been working on the project for six months before it was finally submitted. (在项目被最终提交之前,我们将已经在这个项目上工作6个月了)