B1–B2

Situations Up to the Present — English Grammar Exercises

I've lived here for ten years · since 2015 · I've known her all my life — the present perfect for what's still true now.

Show rules

Unfinished time period — so far, this morning, today, this week

Use the present perfect for actions inside a time period that is still going on:

I've driven 500 km this week. (week hasn't finished)
Have you spoken to Ahmed this morning? (still morning)
We've had four holidays so far this year, and it's only September!

Compare with past simple when the period is finished:
I've made several calls this morning. (still morning)
I made several calls this morning. (now it's afternoon)

Repeated actions

Use the present perfect for repeated actions that may happen again:

I've been there many times. · She's phoned five times already.
How many times have you played Grand Theft Auto?

Situations up to the present — for / since, how long

Use the present perfect (NOT present simple) for situations that started in the past and continue now:

I am married for ten years. → ✅ I've been married for ten years.
We are living here since 2005. → ✅ We've lived here since 2005.

useexample
fora period of timefor an hour, for many yearsDavid has worked here for ten years.
sincea specific time, date or past eventsince Tuesday, since 2018, since we got hereI haven't seen her since Tuesday.
Don't use for with all + time expression:
I've worked there for all my life. → ✅ I've worked there all my life.

The verb after since is usually in the past simple:

John has worked here since he left school. · It's ages since I saw you.

Use How long? in questions about state verbs: How long have you known Alan?

It's (been) ... since

Use it's or it's been + period + since: It's two years since our wedding. · It's been two years since our last meeting.

Superlatives, the first time

Present perfect (often with ever) pairs naturally with superlative adjectives and ordinals:

That was the worst film I've ever seen! · This is the third time I've visited China, but it's the first time I've travelled in business class.

Common mistakes

I am married for ten years.I 've been married for ten years.
We are living here since 2005.We 've lived here since 2005.
I've worked there for all my life.I've worked there all my life.
I haven't seen her for Tuesday.I haven't seen her since Tuesday.
I haven't been shopping since several days.I haven't been shopping for several days.
  1. Have you ___ Ahmed this morning?

    • spoken to
    • spoke to
    • speaking to
    Show answer

    spoken to

    Present perfect because it's still morning — 'Have you spoken to ... this morning?'

  2. I ___ 500 kilometres this week.

    • 've driven
    • drove
    • drive
    Show answer

    've driven

    Present perfect because 'this week' is still going on.

  3. We've had four holidays ___ this year, and it's only September!

    • so far
    • ago
    • before
    Show answer

    so far

    'So far' = 'up to now' — fits an unfinished period like 'this year'.

  4. She ___ me three times today — something must be wrong.

    • 's phoned
    • phoned
    • phones
    Show answer

    's phoned

    Present perfect for repeated actions in an unfinished period ('today').

  5. It's only 10am, and I ___ a lot of work already.

    • 've done
    • did
    • do
    Show answer

    've done

    Present perfect — the morning hasn't finished and the work happened inside it.

  6. I ___ there many times — it's still my favourite restaurant.

    • 've been
    • went
    • go
    Show answer

    've been

    Present perfect for repeated actions that may happen again — 'many times'.

  7. ___ have you played that video game?

    • How many times
    • How often
    • How long
    Show answer

    How many times

    'How many times' asks about the count of repeated past actions.

  8. David has worked in Mexico ___ many years.

    • for
    • since
    • ago
    Show answer

    for

    Use 'for' with a period of time — 'for many years'.

  9. David has worked in Mexico ___ January 2000.

    • since
    • for
    • in
    Show answer

    since

    Use 'since' with a specific date or starting point — 'since January 2000'.

  10. I haven't seen Janice ___ a long time.

    • for
    • since
    • ago
    Show answer

    for

    'A long time' is a period — use 'for'.

  11. I haven't been to the beach ___ we got here.

    • since
    • for
    • when
    Show answer

    since

    'Since' is used with a past event ('we got here') as the starting point.

  12. We ___ here since 2005.

    • 've lived
    • live
    • are living
    Show answer

    've lived

    For a situation that started in the past and continues, use the present perfect — not present simple/continuous.

Present Perfect for Situations Up to Now

The present perfect for unfinished situations describes something that began in the past and is still true, or still relevant, at the moment of speaking. Corpus-based research into learner English consistently ranks this use among the hardest present perfect patterns to master, because many languages simply use a present-tense form here — Russian and French speakers, for example, often produce 'I live here for ten years' instead of the required 'I've lived here for ten years'. The English Profile Programme's error-tagged learner data shows that continuing-state errors of this kind persist even at B2 level, well after learners have mastered the present perfect for finished experiences. This topic isolates the four building blocks that make the pattern reliable: choosing 'for' or 'since' correctly, recognising unfinished time periods such as 'this week' or 'so far', using 'how long' questions, and — critically — never falling back on the present simple for a state that started in the past.

For + Duration, Since + Starting Point

'For' is always followed by a length of time, answering the question 'how long?'. 'Since' is always followed by a point in time — a date, a day, an age, or an event — answering the question 'since when?'. Mixing the two up ('since ten years', 'for 2015') is one of the most common and easily corrected present perfect errors.

David has worked in Mexico for many years. (duration)
David has worked in Mexico since January 2000. (starting point)
I haven't seen Janice for a long time. ('a long time' is a period)
I haven't been to the beach since we got here. ('we got here' is a past event as a starting point)

Inside a clause introduced by 'since', the verb is normally past simple, not present perfect: 'since he left school', not 'since he has left school' — even though the main clause stays in the present perfect.

Unfinished Time Periods and 'So Far'

Time expressions like 'this morning', 'this week', 'this year' and 'today' are unfinished as long as the period they describe hasn't ended, so anything that happens inside them can still take the present perfect — even actions that already occurred. 'So far' makes this unfinished sense explicit, meaning 'up to this point, with more still possible'.

Have you spoken to Ahmed this morning? (it's still morning)
I've driven 500 kilometres this week. (the week isn't over)
We've had four holidays so far this year, and it's only September! (more may follow)
It's only 10am, and I've done a lot of work already. (the morning hasn't finished)

Once the same period is described as finished — 'this morning' becomes 'hours ago, before lunch' — the sentence switches to the past simple: 'I made three phone calls this morning' (said later, once the morning is over).

Present Perfect, Not Present Simple, for Continuing States

When a state or situation began in the past and is still true now, English requires the present perfect. Using the present simple here is grammatically wrong, even though the situation is, in a sense, a 'current fact'.

We've lived here since 2005. (not 'we live here since 2005')
I've been married for ten years. (not 'I am married for ten years')
She's been married since 2010 — nearly fifteen years now.

Repeated Actions Up to Now

The present perfect also covers actions repeated an unspecified number of times within a period that continues up to now, often introduced with 'how many times'.

She's phoned me three times today — something must be wrong.
I've been there many times — it's still my favourite restaurant.
How many times have you played that video game?

How Long, All My Life, and Superlatives

'How long' questions ask about the duration of a state up to now. 'All my life' is a fixed time expression that never takes 'for' before it. Superlatives combined with 'ever' and the present perfect express that something is the best or worst example encountered up to this point.

How long have you known Alan?
I've worked at this hospital all my life. (not 'for all my life')
This is the best holiday we've ever had. (superlative + ever + present perfect)
It's been two years since we last met. ('it's been' + period + since)

Common Mistakes

✗ David has worked in Mexico since many years. → ✓ David has worked in Mexico for many years.
✗ I'm married for ten years. → ✓ I've been married for ten years. (continuing state needs the present perfect)
✗ John has worked here since he has left school. → ✓ since he left school.
✗ I've worked at this hospital for all my life. → ✓ I've worked at this hospital all my life.
✗ I made three phone calls this morning (said while it's still morning, meaning 'up to now') → ✓ I've made three phone calls this morning.
✗ This is the best holiday we've had ever. → ✓ This is the best holiday we've ever had. ('ever' before the past participle)

Frequently Asked Questions

What is the difference between 'for' and 'since'?

'For' is followed by a length of time — a duration counted in minutes, weeks, or years: 'for ten years', 'for a long time', 'for ages'. 'Since' is followed by a starting point — a specific moment when the situation began, such as a date, a day of the week, or an event: 'since 2015', 'since Tuesday', 'since I left school'. A simple test: if the phrase answers 'how long?', use 'for'; if it answers 'since when?' or names a starting moment, use 'since'. The verb inside a clause after 'since' is normally past simple ('since he left'), even though the main clause is present perfect.

Why do we say 'I've lived here for ten years' instead of 'I live here for ten years'?

When a situation started in the past and is still true now, English requires the present perfect, not the present simple, even if the situation feels like a current fact. 'I live here' only describes the present moment with no link to the past; 'I've lived here for ten years' explicitly connects a past starting point to the present. This applies to permanent states as much as to temporary ones: 'I've been married for ten years', 'She's had that car since 2019'. Using the present simple in these contexts is one of the most frequent errors at B1–B2 level, especially for speakers whose own language marks continuing states differently.

What does 'so far' mean, and when do I use it?

'So far' means 'up to this point in time' and is used with the present perfect inside a period that has not finished yet, such as 'this year', 'this week', or 'today'. It signals that the situation could still change before the period ends: 'We've had four holidays so far this year' implies more holidays are still possible before the year is over. 'So far' differs from 'until now', which is less common in everyday speech, and from 'ago', which always refers to a finished point in the past and never combines with the present perfect.

How do you ask 'how long' questions in the present perfect?

'How long' questions about an ongoing situation take the present perfect: 'How long have you known Alan?', 'How long has she lived in Paris?' The verb is typically a state verb ('know', 'live', 'have') or, for actions, the present perfect continuous ('How long have you been waiting?'). The answer usually gives a duration with 'for' or a starting point with 'since': 'For five years' or 'Since 2019'. Asking 'How long do you know Alan?' with the present simple is a common learner error, since it removes the link between the past starting point and the present.

Also Practice

Last updated: · Satori Editorial

Not sure where to start?

Take the free level test — 32 questions, about 7 minutes, with your score shown immediately. Leave your email to get study tips and updates.

Take the level test