B1 Verb Tenses 23 min read 中等

现在完成时:For 与 Since (持续性动作)

For tells duration, since tells start point for ongoing Present Perfect actions.

Grammar Rule in 30 Seconds

Use 'for' for a total duration of time and 'since' for a specific starting point in the past.

  • Use 'for' with periods of time like 'two hours' or 'five years'. Example: 'I have lived here for five years.'
  • Use 'since' with specific dates, times, or events like 'Monday' or '2010'. Example: 'I have lived here since 2010.'
  • Always use the Present Perfect (have/has + past participle) to show the action is still happening now.
Subject + have/has + Past Participle + [for + ⏱️] OR [since + 📍]

Overview

你今天(shuā)了多久手机(shǒujī)了?说真的,快去看看你的屏幕使用时间。你是刷了两个小时的 TikTok,还是从起床开始就一直在刷?如果你脑子里刚才闪过了 for 或者 since,那你已经在使用这个语法了!搭配 forsince 的现在完成时,是连接你的过去和现在的终极桥梁。它不仅仅是关于发生了什么,更是关于什么仍在发生。大多数初学者在这儿都会卡住,错误地使用一般现在时。他们会说
I am a student for three years.
哎哟 (Ouch)! 在英语里,这话听起来就像你现在是学生,但总时长只有三年,而且是从……现在开始算?太让人困惑了。我们用现在完成时来表达一个动作从过去开始,一直持续到你读这句话的这一刻。这就像一部还没播完的 Netflix 剧集:你从 2020 年开始看,到现在还在等下一集。

How This Grammar Works

把你的生活想象成一条时间轴。Forsince 就是你测量这段时间轴的工具。想象你在等外卖披萨。你可以用两种方式描述这段等待:要么说等了多久(时长),要么说什么时候开始等的(时间点)。For 就是你的秒表,它测量的是时间的“量”:分钟、小时、天,甚至是 “很久(hěn jiǔ)” (ages)。而 since 是你的日历,它标注的是一个特定的时刻:晚上 9:00、上周二,或者你意识到自己饿了的那一刻。一个常见的错误是把 since 和时长连用。你不能说 since two hours。这就好比你想用“加仑”来量身高一样,根本不通!这个语法最适合搭配状态动词 (state verbs) —— 也就是描述一种情况而非动作的词。想想看,比如 knowbehave 或者 like。你认识你最好的朋友好几年了吧?你不是只“认识”了他们一次就停了,这是一个持续的状态。

Formation Pattern

1
构造这个句型就像照着菜谱做菜,漏掉一个食材,味道就不对了。以下是组装方法:
2
主语 (Subject) 开始 (I, You, We, They, He, She, It)。
3
加上你的助动词 (Helping Verb):大多数主语用 have,但“第三人称单数” (He, She, It) 要用 has。千万别忘了这点,不然你的英语老师可能会偷偷抹眼泪哦。
4
加上过去分词 (Past Participle):也就是动词的“第三种形式”(比如 been, lived, known)。
5
加上你的时间标记 (Time Marker):用 for + 一段时间(例如 for 3 days),或者用 since + 一个时间点(例如 since Monday)。

Conjugation Table

Form Example Translation
--- --- ---
Positive I have lived here for a month. Ich wohne seit einem Monat hier. (等等,德语里这两个词都用 'since'?真复杂!)
Negative She hasn't called since yesterday. Sie hat seit gestern nicht angerufen.
Question How long have you been here? Wie lange bist du schon hier?
Short Form They've known him for ages. Sie kennen ihn schon ewig.

When To Use It

当一个动作或状态尚未结束时,我们专门使用这个句型。如果你说
I lived in Paris for two years,
意思是由于你现在不在巴黎了,你可能正坐在卧室里喝茶。但如果你说
I have lived in Paris for two years,
意思是你还在那儿,可能正一边嚼着羊角面包一边读这句话呢。
  • 社交媒体数据: "I've had this Instagram account since 2015." (你现在还有这个账号!)
  • 求职面试:
    I have worked as a developer for five years.
    (你现在还是个开发!)
  • 人际关系: "We've been friends since we were kids." (这就是神仙友谊吧!)
  • 现代科技:
    My laptop has been on since this morning.
    (拜托,给电脑放个假吧。)
  • 健康: "I haven't eaten anything for six hours." (外卖软件在召唤你的名字。)

Common Mistakes

  1. 1误用一般现在时: 说
    I am here since Monday.
    不对! 你需要现在完成时:
    I have been here since Monday.
  2. 2混淆 'For' 和 'Since': 说 "I've been a gamer since 10 years.
    错。 10 年是一段时间,所以要用 for
    I've been a gamer for 10 years."
  3. 3Since + Ago: 说 "I've been here since two hours ago.« 这太啰嗦了,听起来像《黑客帝国》里的代码报错。直接说 »since 2:00« 或者 »for two hours" 就行。
  4. 4忘记用 'Has': 说
    She have lived here for a week.
    记住,She 可是很挑剔的,她永远只想要 has

Contrast With Similar Patterns

这和现在完成进行时 (Present Perfect Continuous) 有什么区别?有时候,它们简直像双胞胎。"I've lived here for a year« 和 »I've been living here for a year« 意思是一样的。不过,对于短期动作或者你想强调“正在进行”的事情,进行时版本会更好。»I've been waiting for my coffee for 20 minutes!« 听起来比 »I've waited for my coffee" 显得更烦躁(也更强调动作)。
此外,把它与一般过去时 (Past Simple) 对比一下:
  • 一般过去时:
    I worked there for a year.
    (我不干了。结束了。我自由了!)
  • 现在完成时:
    I have worked there for a year.
    (我还在那儿,现在还在回邮件呢。)

Quick FAQ

Q

我可以把 since 和具体的年份连用吗?

当然可以!Since 1999 是经典用法。

Q

for ages 呢?正式吗?

这非常常见且口语化。当你等那个说“还有 5 分钟就到”(其实刚洗完澡)的朋友时,可以用它来夸张地表达你等了多久。

Q

我能在 since 后面接一个句子吗?

没问题!

Since I moved to this city
就是一个时间点。那是你生活发生改变的瞬间。

Q

for a long time 还是 since a long time

永远是 for。“很长时间”是一段时间,而不是日历上的一个点。

Q

为什么我老是忘了用 has

因为英语就是个恶作剧大王。记住:He/She/It = Has,其他人全用 Have。

Memory Trick

记住 For 里的字母 FF 代表 Figure(数字/数量)。For 5 minutes, For 4 days

记住 Since 里的字母 SS 代表 Starting point(起点)。Since Saturday, Since September

Present Perfect + For/Since Structure

Subject Auxiliary Past Participle Preposition Time Reference
I / You / We / They
have
lived
for
six months
He / She / It
has
lived
since
January
I / You / We / They
have not (haven't)
seen
for
ages
He / She / It
has not (hasn't)
seen
since
Monday

Common Contractions

Full Form Contraction Example
I have
I've
I've been here for an hour.
You have
You've
You've known her since 2010.
He has
He's
He's worked here for a week.
She has
She's
She's been sick since yesterday.
We have
We've
We've lived here for years.
They have
They've
They've been friends since school.

Meanings

The Present Perfect with 'for' or 'since' describes an action that started in the past and continues into the present moment.

1

Duration of State

Used with stative verbs (be, know, like) to show how long a situation has existed.

“We have been friends for a long time.”

“I have known him since high school.”

2

Ongoing Action

Used with dynamic verbs to show an activity that hasn't stopped yet.

“He has played the piano for twenty minutes.”

“It has rained since this morning.”

3

Negative Duration

Used to express how much time has passed since an event last occurred.

“I haven't seen her for ages.”

“We haven't been to the cinema since March.”

Reference Table

Reference table for 现在完成时:For 与 Since (持续性动作)
Form Structure Example
Affirmative (For)
S + have/has + V3 + for + duration
I have studied for two hours.
Affirmative (Since)
S + have/has + V3 + since + point
I have studied since 2 PM.
Negative (For)
S + haven't/hasn't + V3 + for + duration
He hasn't called for a week.
Negative (Since)
S + haven't/hasn't + V3 + since + point
He hasn't called since Sunday.
Question (For)
Have/Has + S + V3 + for + duration?
Have you worked here for long?
Question (Since)
Have/Has + S + V3 + since + point?
Have you worked here since May?
Short Answer (+)
Yes, + S + have/has
Yes, I have.
Short Answer (-)
No, + S + haven't/hasn't
No, she hasn't.

正式程度

正式
I have been employed by this firm for six years.

I have been employed by this firm for six years. (Professional history)

中性
I have worked here for six years.

I have worked here for six years. (Professional history)

非正式
I've been here for six years.

I've been here for six years. (Professional history)

俚语
I've been at this gig for six years.

I've been at this gig for six years. (Professional history)

For vs Since Visualization

Present Perfect Time

FOR (Duration)

  • 2 hours a period of 120 minutes
  • 5 years a long period of time
  • Ages an informal long time

SINCE (Starting Point)

  • 9:00 AM a specific time on the clock
  • Last Christmas a specific holiday
  • I was young a point in my life

Measuring vs Naming Time

FOR (The Ruler)
for 10 minutes measures the length
for a decade measures the span
SINCE (The Pin)
since Tuesday names the start day
since 2015 names the start year

Which one should I use?

1

Are you talking about a total amount of time?

YES
Use FOR
NO
Go to next step
2

Are you talking about a specific start date/time?

YES
Use SINCE
NO
Check your sentence again!

Common Time Phrases

⏱️

Use FOR with...

  • a long time
  • three weeks
  • centuries
  • a few minutes
📍

Use SINCE with...

  • I left school
  • breakfast
  • yesterday
  • 2001

按水平分级的例句

1

I have been here for one hour.

I have been here for one hour.

2

She has lived here since 2022.

She has lived here since 2022.

3

We have had this car for a week.

We have had this car for a week.

4

He has been sick since Friday.

He has been sick since Friday.

1

I haven't seen him for two days.

I haven't seen him for two days.

2

They have been married since July.

They have been married since July.

3

How long have you been a teacher?

How long have you been a teacher?

4

She has known me for a long time.

She has known me for a long time.

1

I've worked in this office since I finished university.

I've worked in this office since I finished university.

2

We've been waiting for the bus for over forty minutes.

We've been waiting for the bus for over forty minutes.

3

Has he lived in London since he was a child?

Has he lived in London since he was a child?

4

I haven't eaten anything since breakfast.

I haven't eaten anything since breakfast.

1

The company has owned this property for several decades.

The company has owned this property for several decades.

2

I've been meaning to call you since we last met.

I've been meaning to call you since we last met.

3

Prices have risen significantly since the new law was passed.

Prices have risen significantly since the new law was passed.

4

He hasn't contributed to the project for quite some time.

He hasn't contributed to the project for quite some time.

1

The tension has been building since the inception of the project.

The tension has been building since the inception of the project.

2

I haven't seen such a display of talent for many a year.

I haven't seen such a display of talent for many a year.

3

She has been a pillar of the community since time immemorial.

She has been a pillar of the community since time immemorial.

4

The law has been in effect for the duration of the crisis.

The law has been in effect for the duration of the crisis.

1

The manuscript has lain untouched for what must be centuries.

The manuscript has lain untouched for what must be centuries.

2

Ever since the scandal broke, the senator has been under intense scrutiny.

Ever since the scandal broke, the senator has been under intense scrutiny.

3

I haven't so much as spoken to him in weeks.

I haven't so much as spoken to him in weeks.

4

The city has undergone a metamorphosis since the turn of the century.

The city has undergone a metamorphosis since the turn of the century.

容易混淆

Present Perfect: For vs. Since (Ongoing Actions) 对比 Present Perfect vs. Past Simple

Learners use Past Simple for ongoing actions or Present Perfect for finished ones.

Present Perfect: For vs. Since (Ongoing Actions) 对比 For vs. During

Both relate to time, but 'during' is used with nouns to say when something happened, not how long.

Present Perfect: For vs. Since (Ongoing Actions) 对比 Since vs. From

Learners use 'from' to mark a start point with the Present Perfect.

常见错误

I am here since Monday.

I have been here since Monday.

In English, we use the Present Perfect, not the Present Simple, for actions starting in the past.

I have been here for 2010.

I have been here since 2010.

Use 'since' for years, not 'for'.

I have lived here since two years.

I have lived here for two years.

Use 'for' for a number of years.

I have know him for a long time.

I have known him for a long time.

You must use the past participle (known), not the base form (know).

She has worked here since five months.

She has worked here for five months.

Months are a duration, so use 'for'.

How long you have been here?

How long have you been here?

In questions, the auxiliary 'have' must come before the subject.

I haven't seen her since a long time.

I haven't seen her for a long time.

'A long time' is a duration, not a starting point.

I have been knowing her since 2015.

I have known her since 2015.

'Know' is a stative verb and should not be used in the continuous form.

I've been here since I have been a child.

I've been here since I was a child.

The clause after 'since' usually uses the Past Simple.

It's been raining for this morning.

It's been raining since this morning.

'This morning' is a starting point.

I haven't seen him for the last time we met.

I haven't seen him since the last time we met.

The meeting is a point in time, not a duration.

句型

I have known ___ since ___.

She hasn't ___ for ___.

How long have you ___?

Real World Usage

Job Interviews constant

I have worked in sales for over a decade.

Doctor's Appointment very common

I've had this cough since last Tuesday.

Dating/Relationships common

We've been together for three years.

Customer Support very common

I have been on hold for twenty minutes!

Social Media Bio common

Living in NYC since 2015.

Travel/Immigration occasional

I have been in the country for two weeks.

💡

The 'All' Exception

When you use 'all' (all day, all my life), you don't need 'for'. Say 'I've been here all day,' NOT 'for all day'.
⚠️

Since + Past Simple

If you use a verb after 'since', it must be in the Past Simple. 'Since I moved' (Correct), 'Since I have moved' (Incorrect).
🎯

Negative 'In'

In negative sentences, you can use 'in' instead of 'for' to sound more like a native speaker. 'I haven't seen him in years.'
💬

How long...?

Always start your question with 'How long have you...' to ask about duration. Avoid 'Since when...' as it can sometimes sound aggressive or skeptical.

Smart Tips

Stop! If you arrived 2 days ago and are still here, you must use 'I have been'.

I am here for two days. I have been here for two days.

Use 'for'. Numbers usually indicate a duration.

I've been waiting since 20 minutes. I've been waiting for 20 minutes.

Swap 'for' for 'in'.

I haven't seen him for weeks. I haven't seen him in weeks.

Always put that verb in the Past Simple.

Since I have moved here... Since I moved here...

发音

I've /aɪv/, We've /wiːv/, They've /ðeɪv/

Contraction of 'have'

In natural speech, 'have' is almost always contracted to /v/ after pronouns.

/fə/ two hours

Weak form of 'for'

The word 'for' is usually pronounced with a schwa /fə/ unless it is stressed.

Emphasis on duration

I've been waiting for ↘️HOURS.

Conveys frustration or surprise at the length of time.

记住它

记忆技巧

FOR is for the length of the floor (duration); SINCE is for the start of the fence (point).

视觉联想

Imagine 'FOR' as a ruler measuring a piece of string. Imagine 'SINCE' as a push-pin on a calendar marking the exact day you started.

Rhyme

For is for a length of time, Since is for the starting line.

Story

A traveler has been walking 'for' ten days. He hasn't seen a city 'since' he left the mountains. He measures his journey in days (for) but remembers his departure (since).

Word Web

DurationStarting PointUnfinishedHave/HasPast ParticiplePeriodMoment

挑战

Write three sentences about your life: one using 'for', one using 'since' with a year, and one using 'since' with a past event (e.g., 'since I was a child').

文化笔记

British speakers are very strict about using the Present Perfect with 'for' and 'since'. Using the Past Simple instead (e.g., 'I didn't see him since Monday') sounds very incorrect to them.

While the Present Perfect is standard, in informal American speech, you might occasionally hear the Past Simple used with 'since', though it is technically non-standard.

Using 'for' and 'since' correctly is a marker of professional English proficiency. It is often tested in exams like IELTS or TOEFL because it shows a grasp of complex time relationships.

The Present Perfect evolved from Old English 'habban' (to have) + a past participle, originally meaning 'I possess a finished thing'. Over time, it shifted to describe the state resulting from that action.

对话开场白

How long have you lived in your current city?

What is something you have owned since you were a child?

How long have you been studying English, and what has been the hardest part?

Have you known your best friend for a long time?

日记主题

Write about your career or education history. How long have you been in your current role?
Describe a hobby you have. When did you start, and how long have you practiced it?
Reflect on the changes in your life since the beginning of this year.

常见错误

Incorrect

正确


Incorrect

正确


Incorrect

正确


Incorrect

正确

Test Yourself

Choose the correct preposition. 多项选择

I have lived in this apartment ___ 2010.

✓ Correct! ✗ Not quite. Correct answer: since
2010 is a specific starting point, so we use 'since'.
Fill in the blank with 'for' or 'since'.

They have been married ___ forty years.

✓ Correct! ✗ Not quite. Correct answer: for
Forty years is a duration/period of time.
Correct the mistake in the sentence. Error Correction

Find and fix the mistake:

I am a teacher since three years.

✓ Correct! ✗ Not quite. Correct answer: I have been a teacher for three years.
We need Present Perfect for duration, and 'for' for a period of time.
Rewrite the sentence using 'since'. Sentence Transformation

I started working here in January. (I have...)

✓ Correct! ✗ Not quite. Correct answer: I have worked here since January.
The starting point is January, so 'since' is used with the Present Perfect.
Match the time phrase with the correct preposition. Match Pairs

Match each item on the left with its pair on the right:

✓ Correct! ✗ Not quite. Correct answer: 1-for, 2-since, 3-for, 4-since
'Ages' and 'a long time' are durations; 'I was a child' and 'last night' are points.
Complete the dialogue. Dialogue Completion

A: How long have you had that dog? B: I've had him ___.

✓ Correct! ✗ Not quite. Correct answer: since last Christmas
'Since' is correctly paired with a specific event/point in time.
Is this rule correct? True False Rule

We use 'since' with a period of time, like 'five days'.

✓ Correct! ✗ Not quite. Correct answer: False
We use 'for' with a period of time.
Sort these into 'For' or 'Since' categories: 1. Monday, 2. Ten minutes, 3. I left, 4. A decade. Grammar Sorting

Which ones go with 'For'?

✓ Correct! ✗ Not quite. Correct answer: 2 and 4
Ten minutes and a decade are durations.

Score: /8

练习题

8 exercises
Choose the correct preposition. 多项选择

I have lived in this apartment ___ 2010.

✓ Correct! ✗ Not quite. Correct answer: since
2010 is a specific starting point, so we use 'since'.
Fill in the blank with 'for' or 'since'.

They have been married ___ forty years.

✓ Correct! ✗ Not quite. Correct answer: for
Forty years is a duration/period of time.
Correct the mistake in the sentence. Error Correction

Find and fix the mistake:

I am a teacher since three years.

✓ Correct! ✗ Not quite. Correct answer: I have been a teacher for three years.
We need Present Perfect for duration, and 'for' for a period of time.
Rewrite the sentence using 'since'. Sentence Transformation

I started working here in January. (I have...)

✓ Correct! ✗ Not quite. Correct answer: I have worked here since January.
The starting point is January, so 'since' is used with the Present Perfect.
Match the time phrase with the correct preposition. Match Pairs

1. ___ ages, 2. ___ I was a child, 3. ___ a long time, 4. ___ last night

✓ Correct! ✗ Not quite. Correct answer: 1-for, 2-since, 3-for, 4-since
'Ages' and 'a long time' are durations; 'I was a child' and 'last night' are points.
Complete the dialogue. Dialogue Completion

A: How long have you had that dog? B: I've had him ___.

✓ Correct! ✗ Not quite. Correct answer: since last Christmas
'Since' is correctly paired with a specific event/point in time.
Is this rule correct? True False Rule

We use 'since' with a period of time, like 'five days'.

✓ Correct! ✗ Not quite. Correct answer: False
We use 'for' with a period of time.
Sort these into 'For' or 'Since' categories: 1. Monday, 2. Ten minutes, 3. I left, 4. A decade. Grammar Sorting

Which ones go with 'For'?

✓ Correct! ✗ Not quite. Correct answer: 2 and 4
Ten minutes and a decade are durations.

Score: /8

Practice Bank

12 exercises
Choose the correct word. 填空

They haven't visited their grandparents ___ Christmas.

✓ Correct! ✗ Not quite. Correct answer: since
Choose the correct word. 填空

How long ___ you been learning French?

✓ Correct! ✗ Not quite. Correct answer: have
Find and fix the mistake. Error Correction

We know him since 2010.

✓ Correct! ✗ Not quite. Correct answer: We have known him since 2010.
Find and fix the mistake. Error Correction

I haven't eaten for I woke up.

✓ Correct! ✗ Not quite. Correct answer: I haven't eaten since I woke up.
Which sentence is correct? 多项选择

Choose the correct sentence:

✓ Correct! ✗ Not quite. Correct answer: They have been playing for two hours.
Which sentence is correct? 多项选择

Choose the correct sentence:

✓ Correct! ✗ Not quite. Correct answer: She has lived in Rome since 2020.
Type the correct English sentence. 翻译

Translate into English: 'Él ha estado esperando el autobús durante veinte minutos.'

✓ Correct! ✗ Not quite. Correct answer: ["He has been waiting for the bus for twenty minutes.","He's been waiting for the bus for twenty minutes."]
Type the correct English sentence. 翻译

Translate into English: 'No he comido chocolate desde que era niño.'

✓ Correct! ✗ Not quite. Correct answer: ["I haven't eaten chocolate since I was a child.","I've not eaten chocolate since I was a child."]
Put the words in order. Sentence Reorder

Arrange these words into a sentence:

✓ Correct! ✗ Not quite. Correct answer: He hasn't visited Paris since he left university
Put the words in order. Sentence Reorder

Arrange these words into a sentence:

✓ Correct! ✗ Not quite. Correct answer: I have known her for many years
Match the time expression with the correct word (`for` or `since`). Match Pairs

Match each time expression with the correct word:

✓ Correct! ✗ Not quite. Correct answer: matched
Match the beginning of the sentence with the correct ending. Match Pairs

Match the beginnings with the correct endings:

✓ Correct! ✗ Not quite. Correct answer: matched

Score: /12

常见问题 (8)

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 do.

No, 'since' is almost exclusively used with the Present Perfect (or Past Perfect) in English to show a connection to a later time.

It is always `for a long time`. 'A long time' is a duration, not a specific point.

`For` tells you how long (duration). `During` tells you when (within a named event). Example: 'I slept for two hours during the flight.'

Technically yes, but it is much more natural to say `for five years`. 'Since' is better with dates or events.

Yes, for this specific rule of duration, the Present Perfect `have/has + past participle` is required.

Yes! `Ever since` is a common way to emphasize that something has been true from a specific point until now. 'I've loved pizza ever since I was a kid.'

In negative sentences, `in` is a common and natural substitute for `for` in informal English.

Scaffolded Practice

1

1

2

2

3

3

4

4

Mastery Progress

Needs Practice

Improving

Strong

Mastered

In Other Languages

Spanish low

Presente + hace / desde

Spanish uses present tense; English uses present perfect.

French low

Présent + depuis

French uses present tense for ongoing actions.

German moderate

Präsens + seit

German uses one word (seit) for both points and durations.

Japanese low

~te iru + kara/aida

Japanese relies on aspect markers rather than a specific perfect tense.

Arabic moderate

Mudari' (Present) + mundhu

Arabic uses the present tense where English uses the perfect.

Chinese low

Verb + le + duration

Chinese uses aspect particles and word order instead of prepositions.

Learning Path

Prerequisites

Was this helpful?
还没有评论。成为第一个分享想法的人!