Skip to content
English TeacherMelanie
Grammar

Present Perfect: “How Long Have You (Done Something)?

English Grammar: How Long Have You ... ? (present perfect) | English Teacher Melanie

Many English learners struggle to understand the present perfect tense. It doesn’t exist in many other languages, so it is difficult to remember when to use it in English. It is easier to understand the present perfect tense if you can remember the different situations in which it can be used.

You can use the present perfect tense when you want to talk about how long you have done something, or for what amount of time you have done something. It is used to talk about an action that began in the past and continues up to the present (and will probably continue in the future). This is the important thing to remember about using the present perfect in this situation: the activity, action, or event is still going on. It has not finished.

I have lived in Paris for 7 years.

I have been a vegetarian since I was a young boy.

I have worked for this company for 4 months.

I have loved you since the day I met you!

We have been married for 30 years.

Remember: The simple past is used to talk about an action that started and FINISHED in the past. The present perfect is used to talk about an action that started in the past and CONTINUES in the present.

Compare:

I have studied French for 10 years. (present perfect)

Present perfect - Present Perfect: “How Long Have You (Done Something)?
(I started studying French 10 years ago, and I am still studying it now.)

I studied French for 10 years. (simple past)

Present perfect - Present Perfect: “How Long Have You (Done Something)?
(I started studying French 10 years ago. I finished studying French 2 years ago. I am not studying French now.)

Did you notice that I used for 10 years in the above example. Why did I use for? Could I have used since in the above examples?

for + a period of time:
for 6 years, for 5 months, for 4 days, for a long time

since + a point in time in the past:
since 2008, since I was a child, since last month, since yesterday.

I could have used since, but only with the present perfect:

I have studied French since 2000.

X: I studied French since 2000.

Did you notice that none of these sentences include ago? Ago is not used with the present perfect. It is used with the simple past.

Compare:
Do you know Catherine?
~ Yes I know Catherine.
(simple present – I know her now.)

How long have you known her?
~ I’ve known her for 6 six years / since 2004.
(present perfect)
~ I met her 6 years ago. We were in the same class at school.
(simple past)

~

More example sentences using the present perfect:

My mom is in New York City on a business trip. She has been there since Monday.

I live in Canada. I have lived in Canada my entire life.

Jen and Mark have been married for 25 years.

It has been such a miserable day. It has been raining all day!

She has smoked (cigarettes) since she was a teenager.

Comments

  1. That was the best explanation about Present Perfect I’ve seen …
    thanks Melanie.. you’ve helped me alot. I started my english studies two years ago, and present perfect and phrasel verbs are always a big problem… everyday i “come” here and study grammar and listening … you do a great job.. thank you !!!

  2. Dear Melanie,
    could you help me with the following question: How long has India been a British colony or: How long was India a British colony? In my opinion the first one sounds right, but according to the rules it should be “was”. Though I once learnt that “how long” is always used with the present perfect tense… if that’s true.

    Could you clarify this question for me?? I’d like to thank you very much in advance.

    Kind regards
    Irma

    • Hi, Irma!

      There is no rule that “how long” is always used with the present perfect tense. It is only used with the present perfect if an action started in the past AND continues in the present.

      I don’t think India is still considered a British colony. It’s part of the British Commonwealth, but not a colony. It was a colony in the past, so the correct sentence uses the past tense:
      “How long was India a British colony?”

      = )

  3. Hi
    Great site, but if you want to say “I have worked here for 10 years” (and still work there) wouldn’t you use present perfect continuous?

    I’m struggling to teach these tenses 🙁

    • Hi, John!

      You can use BOTH the present perfect continuous for this sentence. Both are equally correct.
      “I’ve worked here for 10 years.”
      “I’ve been working here for 10 years.”

      The best explanation I can find is in the book ‘Practical English Usage’ by Michael Swan. (http://astore.amazon.com/english0f-20/detail/019442099X)
      It says (page 447):
      “We use progressive/continuous forms mostly for shorter, temporary actions & situations. When we talk about longer-lasting or permanent situations, we often prefer the present perfect.”
      “Progressive and simple tenses are sometimes both possible, with a slight difference of emphasis.”
      “We generally use the progressive to talk about continuous change or development, even if this is permanent.”

      I hope that helps!
      = )

      • Wow Melanie thank you that’s really kind of you to go to the trouble of looking it up!!

        Makes sense now. I wish I had you by my side all week!! :-((

  4. Hi

    I would like to thank you for all this information. It have helped me. By the way I am Brazilian and I found out your site by chance and now I use it often.

  5. you explained it in a very good way , I ll soon be a teacher and i ll use your methods if you don’t mind thanks a lot and kiss from Algeria.

  6. Hi Melanie,

    I’d just like to take this opportunity to say a big THANK YOU for your wonderful site. I’m an English teacher and to be honest, I find teaching the perfect tenses challenging. I’ve read SO MANY grammar books and searched the internet for a very long time to find an effective way to teach this – I can honestly say, I’m delighted to have stumbled upon your website. You’re clear and concise and you’re explanations are excellent. Thank you so much for creating this amazing resource for teachers and students alike.

    Edel

  7. hi melanie ! I understand it very well now ,how to use the present perfect tense,thanks so much for your help.You very kind indeed.

  8. Hi,

    Can you explain the difference between “I have studied French since 2000” and “I have been studying French since 2000”?

    You wrote, “I have studied French for 10 years.
    (I started studying French 10 years ago, and I am still studying it now.)”

    So, what’s the difference if I say “I have been studying French for 10 years”?? I can’t understand that. Please help me.

    • Hi, Wojeck

      “I have studied French since 2000″
      “I have been studying French since 2000″
      = These two sentences have the same meaning.

      “I have studied French for 10 years.”
      “I have been studying French for 10 years”
      = These two sentences have the same meaning.

Ask Melanie a question or leave a comment

Your email won’t be published. Comments are checked for spam before they appear.

Keep learning: Grammar

All grammar lessons →
Grammar

present continuous

Talking about future plans is challenging in English because we use different verb forms and tenses. In this post you’ll learn how…

3 min read