B1 · 中级 章节 28

玩转时态:掌握英语完成时的进阶表达

12 总规则
124 例句
5 分钟

Chapter in 30 Seconds

Master the art of time and experience by connecting your past, present, and future with perfect tenses.

  • Distinguish between duration and starting points using for and since.
  • Sequence complex past events clearly using the Past Perfect.
  • Project your achievements into the future with the Future Perfect.
Connect your story across the timeline of life.

你将学到什么

准备好让你的英语表达更有“高级感”了吗?本章将带你深入探索“完成时”的魅力。你将不再只是简单地描述过去,而是能精准地运用 Present Perfect (have done) 来连接过去与现在。我们会学习如何用 for 和 since 划定时间线,利用 yet、already 和 just 为你的对话注入灵魂。想区分“我在做”和“我做完了”的细微差别吗?我们会深入对比结果与过程。此外,你还将掌握 Past Perfect (had done) 来理清过去故事的先后顺序,甚至能用 Future Perfect 聊聊未来的截止计划。当你在面试中介绍职业成就,或者在聚会上绘声绘色地讲故事时,这些精准的时态就是你的秘密武器。学完本章,你将能熟练运用 narrative tenses 编织逻辑严密的叙事,并能用地道的 used to 和 would 畅聊过去的回忆。让我们一起打破单一时态的束缚,开始用英语自由地穿梭时空吧!

Learning Objectives

By the end of this chapter, you will be able to:

  1. 1
    By the end you will be able to: Narrate a complex story involving past habits and chronological events.

章节指南

Overview

This guide is your passport to deeper English communication. As a B1 learner, you've mastered the basics, but now it's time to truly elevate your storytelling and planning skills. Mastering perfect tenses isn't just about memorizing rules; it's about adding precision and richness to your conversations, allowing you to connect past events to the present, describe ongoing situations, and even talk about the future with a new level of clarity.
You'll discover how the Present Perfect helps you share experiences and discuss recent happenings, often using helpful words like 'for' and 'since' to specify duration or starting points. We'll also explore the Present Perfect Continuous to emphasize the ongoing nature of an action, and then jump back in time with the Past Perfect to expertly sequence events in your stories. Finally, get ready to anticipate the future with the Future Perfect, helping you talk about actions that will be completed by a certain point.
This B1 English grammar chapter is designed to make these often-tricky tenses feel intuitive and natural, empowering you to express yourself with confidence.

How This Grammar Works

Perfect tenses act like time-travel tools, connecting different moments to paint a more complete picture. The core idea is that an action in the past has a direct relevance or completion in another time frame. We often start with the Present Perfect (have/has + past participle), which bridges the past to the present.
For example,
I have lived here for five years
uses 'for' to indicate duration, while
She has studied English since 2020
uses 'since' to mark a starting point. This contrasts with the Present Perfect Continuous (have/has been + -ing), which emphasizes the *ongoing process* of an action up to now, like
He has been working on this project all morning.
When recounting past events, the Past Perfect (had + past participle) becomes essential for clarity. It tells you which action happened *first* when two past actions are involved. Consider,
By the time I arrived, they had already left.
Leaving happened before arriving. Similarly, the Past Perfect Continuous (had been + -ing) highlights the *duration* of an action that was ongoing before another past event:
She had been waiting for an hour before the bus finally came.
Looking ahead, the Future Perfect (will have + past participle) allows us to project into the future and describe an action that will be completed by a specific future point.
For instance,
By next year, I will have finished my degree.
These tenses build on each other, offering precise ways to navigate time in your English conversations.

Common Mistakes

Here are some common pitfalls B1 learners encounter with perfect tenses:
  1. 1Incorrectly using Present Perfect for finished actions with a specific past time.
* ✗ *I have visited Paris last year.*
* ✓ *I visited Paris last year.* (Use Past Simple for specific past time markers.)
* ✓ *I have visited Paris many times.* (Use Present Perfect for unspecified past experiences.)
  1. 1Confusing 'for' and 'since' with the Present Perfect.
* ✗ *I have lived here since three years.*
* ✓ *I have lived here for three years.* (Use 'for' for duration.)
* ✓ *I have lived here since 2021.* (Use 'since' for a specific starting point.)
  1. 1Overusing the Present Perfect Continuous for results.
* ✗ *I have been reading that book and now I understand it.*
* ✓ *I have read that book and now I understand it.* (Use Present Perfect Simple for a completed action with a result.)
* ✓ *I have been reading that book for two weeks.* (Use Present Perfect Continuous to emphasize the ongoing process.)

Real Conversations

Here's how these tenses appear in everyday chats:

A

A

Wow, your English sounds great! How long have you been studying?
B

B

Thanks! I have been studying since I was a teenager, but I have been taking it more seriously for the last two years. I have already noticed a big improvement.
A

A

"Did you hear about Sarah's new job?"
B

B

"Yes! She mentioned it. She had been looking for something in marketing for months before she finally found this position. I'm so happy for her."
A

A

Are you going to be ready for the presentation by 3 PM?
B

B

"Almost. By 2:30 PM, I will have finished preparing all the slides, so I'll just need to practice once."

Quick FAQ

Q

Why do I need to learn the Past Perfect if I can just use the Past Simple?

The Past Perfect is crucial for clarity when you're talking about *two* events in the past. It shows which one happened *first*. For instance,

I went home after I had finished work
clearly indicates the finishing happened before going home, preventing confusion.

Q

What's the main difference between Present Perfect Simple and Continuous?

The Present Perfect Simple focuses on the *result* or *completion* of an action up to now (e.g., "I have painted the wall – it's finished"). The Present Perfect Continuous emphasizes the *duration* or *process* of an action that's been ongoing (e.g., "I have been painting the wall all morning – I'm still tired").

Q

How can already, yet, and just help my Present Perfect?

These adverbs add nuance! Just means a very short time ago (

I have just finished dinner
). Already means something happened sooner than expected (
I have already seen that movie
). Yet is used in questions and negative statements to ask if something has happened or to say it hasn't happened *up to now* ("Have you done your homework yet? No, I haven't done it yet"). They make your meaning more precise.

Cultural Context

Native English speakers use perfect tenses constantly to add precision to their stories and plans. While the rules are consistent, the *frequency* of use can vary. For example, in very informal American English, sometimes the Past Simple might replace the Present Perfect when context makes the meaning clear (e.g.,
Did you eat yet?
instead of
Have you eaten yet?
).
However, for B1 learners, sticking to the standard usage of mastering perfect tenses will ensure clear and correct communication in both formal and informal settings worldwide.

关键例句 (8)

1

I've been learning English `for three years` now, and I still mix up 'their' and 'there'.

He estado aprendiendo inglés durante tres años y todavía confundo 'their' y 'there'.

现在完成时: For 与 Since (持续时间与起始点)
2

She `has worked` at this coffee shop `since high school`.

Ella ha trabajado en esta cafetería desde la escuela secundaria.

现在完成时: For 与 Since (持续时间与起始点)
3

I've lost my keys, so I can't get into my apartment.

He perdido mis llaves, así que no puedo entrar a mi apartamento.

现在完成时 vs. 现在完成进行时:结果还是过程?
4

She has been studying for her exam all night, and she looks exhausted.

Ella ha estado estudiando para su examen toda la noche y se ve agotada.

现在完成时 vs. 现在完成进行时:结果还是过程?
5

I've been working on this presentation all morning.

He estado trabajando en esta presentación toda la mañana.

现在完成进行时:正在进行的旅程 (have been -ing)
6

She has been learning to code for six months now.

Ella ha estado aprendiendo a programar durante seis meses.

现在完成进行时:正在进行的旅程 (have been -ing)
7

By the time we arrived, the movie `had already started`.

当我们到达时,电影已经开始了。

过去完成时:'之前的'过去 (had + done)
8

She `had never visited` London until last year.

在去年之前,她从未去过伦敦。

过去完成时:'之前的'过去 (had + done)

技巧与窍门 (4)

💡

The 'How Long' Test

If you can ask 'How long?' and the answer is a number of units, use 'for'. If the answer is a name of a time, use 'since'.
frontend.learn_grammar.from_rule: 现在完成时: For 与 Since (持续时间与起始点)
🎯

The 'How Many' Test

If you can put a number in the sentence (3 times, 4 books), use the Simple form. It works 99% of the time!
frontend.learn_grammar.from_rule: 现在完成时 vs. 现在完成进行时:结果还是过程?
💡

The 'Wet Paint' Rule

Use this tense when there is 'evidence' in the present. If you see someone with wet hair, say 'Have you been swimming?' even if they aren't swimming right now.
frontend.learn_grammar.from_rule: 现在完成进行时:正在进行的旅程 (have been -ing)
💡

寻找时间线索

这个时态很少单独出现,通常会配合 by thenby 5 PM 等时间点。比如:
I had finished my work by then.
frontend.learn_grammar.from_rule: 过去完成时:'之前的'过去 (had + done)

核心词汇 (5)

duration the length of time something lasts chronological in order of time habitual done as a habit experience knowledge gained through doing sequence to arrange in order

Real-World Preview

coffee

Catching up with an old friend

Review Summary

  • have/has + past participle + for/since

常见错误

Since is for a point in time, for is for a duration.

Wrong: I have been here since two years.
正确: I have been here for two years.

Don't use Present Perfect with finished time expressions like yesterday.

Wrong: I have saw him yesterday.
正确: I saw him yesterday.

Don't double up auxiliary verbs; keep it simple.

Wrong: I have had finished my work.
正确: I had finished my work.

本章规则 (12)

Next Steps

You have done an amazing job mastering these complex tenses. Keep practicing, and your English will sound more natural every day!

Write a diary entry about your past week.

快速练习 (10)

Correct the sentence.

Find and fix the mistake:

I am knowing him for five years.

✓ Correct! ✗ Not quite. Correct answer: I have known him for five years.
'Know' is a stative verb and must be in the Present Perfect Simple.

frontend.learn_grammar.from_rule: 现在完成时: For 与 Since (持续时间与起始点)

Choose the correct form based on the focus of the sentence.

I ___ three cups of coffee this morning.

✓ Correct! ✗ Not quite. Correct answer: have drunk
We use the Simple form because we are talking about a specific quantity (three cups).

frontend.learn_grammar.from_rule: 现在完成时 vs. 现在完成进行时:结果还是过程?

Choose the correct sentence.

Which sentence is grammatically correct?

✓ Correct! ✗ Not quite. Correct answer: I have already finished.
'Already' usually goes between 'have' and the past participle.

frontend.learn_grammar.from_rule: 现在完成时: Already, Yet, Just (已经, 还没, 刚刚)

Fill in the blank.

We ___ play soccer every day.

✓ Correct! ✗ Not quite. Correct answer: both
Both work for actions.

frontend.learn_grammar.from_rule: Would and Used To: Talking About Past Habits

选择正确的形式填空。

By the time I got home, my brother ___ all the pizza.

✓ Correct! ✗ Not quite. Correct answer: had eaten
吃披萨发生在回到家之前,所以要用过去完成时。

frontend.learn_grammar.from_rule: 过去完成时:'之前的'过去 (had + done)

Fill in the blank.

She ___ have long hair.

✓ Correct! ✗ Not quite. Correct answer: used to
Have is a state.

frontend.learn_grammar.from_rule: Would and Used To: Talking About Past Habits

选择正确的形式填空。

By Saturday morning, I ___ all my packing for the trip.

✓ Correct! ✗ Not quite. Correct answer: will have finished
By Saturday morning 暗示了一个未来的截止点,所以需要用将来完成时 will have finished

frontend.learn_grammar.from_rule: 英语将来完成时: Will Have Done (Future Perfect)

Complete the sentence with the Past Perfect Continuous form of the verb in brackets.

They ___ (wait) for over an hour before the train arrived.

✓ Correct! ✗ Not quite. Correct answer: had been waiting
We use 'had been waiting' to show the duration before the train arrived.

frontend.learn_grammar.from_rule: 过去完成进行时 (had been -ing)

Choose the correct preposition.

I have been a teacher ___ 2010.

✓ Correct! ✗ Not quite. Correct answer: since
2010 is a specific starting point, so we use 'since'.

frontend.learn_grammar.from_rule: 现在完成时: For 与 Since (持续时间与起始点)

Choose the correct word.

I haven't seen him ___ 2015.

✓ Correct! ✗ Not quite. Correct answer: since
Use 'since' for a specific point in time.

frontend.learn_grammar.from_rule: 现在完成时:经历与结果

Score: /10

常见问题 (6)

Yes, but it means the action is finished. I lived there for two years means you don't live there now. I have lived there for two years means you still live there.
It is always for two years. You use since only for a specific date or time, like since 2022.
Yes! You can say I've worked here for years or I've been working here for years. The continuous version just sounds a bit more temporary or emphasizes the effort.
Because know is a stative verb. It describes a state of mind, not a physical action. English grammar rules forbid using these in any continuous (-ing) form.
Yes! For permanent situations, both are often okay: I've lived here and I've been living here mean almost the same thing. However, use Continuous for temporary situations.
Use for with a duration (e.g., for 20 minutes, for 5 years). Use since with a specific starting point (e.g., since 9 AM, since Monday, since I was a child).