Grammar – Present Perfect III: How long have you …. ?

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.

Life Experiences

You can use the present perfect to talk about your life experiences: places you have visited and things you’ve done in the past. I will explain this in three parts:

Present Perfect I: Have you ever been to …?
Present Perfect II: Have you ever (done something)?
Present Perfect III: How long have you (done something)? [This article]


How long have you … ?


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.


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

(I started studying French 10 years ago, and I am still studying it now.)


I studied French for 10 years. (simple past)

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

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.


24 Comments on Grammar – Present Perfect III: How long have you …. ?

  1. adan garcia
    May 28, 2012 at 10:02 pm (4 years ago)

    thank you Melanie

  2. José Fábio
    June 1, 2012 at 3:34 pm (4 years ago)

    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 !!!

  3. Caio Cardoso
    June 19, 2012 at 8:42 am (4 years ago)

    Thank you Melanie, your website helps me a lot for my exams!

  4. irma Rössler
    October 21, 2012 at 2:07 pm (3 years ago)

    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

    • Melanie
      October 21, 2012 at 7:51 pm (3 years ago)

      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?”

      = )

  5. John
    November 21, 2012 at 2:54 pm (3 years ago)

    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 :(

    • Melanie
      November 22, 2012 at 2:09 pm (3 years ago)

      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. (
      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!
      = )

      • John
        November 27, 2012 at 3:11 pm (3 years ago)

        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!! :-((

  6. André
    November 23, 2012 at 2:34 pm (3 years ago)


    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.

  7. samou
    December 3, 2012 at 2:59 pm (3 years ago)

    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.

    December 26, 2012 at 4:32 pm (3 years ago)

    it is useful for all .we need it to improve our english language

  9. Edel
    January 5, 2013 at 6:41 pm (3 years ago)

    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.


  10. ann
    February 2, 2013 at 4:50 am (3 years ago)

    thank you!

  11. Enma Kozatto
    February 14, 2013 at 11:45 pm (3 years ago)

    Ne ne! thank you!!
    This is perfect for my sister ^^


  12. Christin
    May 19, 2013 at 7:40 am (3 years ago)


  13. Romi
    July 13, 2013 at 2:20 pm (3 years ago)

    thank you

  14. neron
    August 26, 2013 at 8:20 am (2 years ago)

    Is “have long been” means “have been for a long time”?

      • neron
        August 26, 2013 at 3:53 pm (2 years ago)

        Thank you =)

        But I have another question. What does it mean in the following sentence: “We have long been outcasts”? Are they still outcasts?

        Sorry for my english

        • Melanie
          August 27, 2013 at 4:36 pm (2 years ago)

          Hi, Neron!

          You don’t need to apologize for your English! I’m here to help.

          “We have long been outcasts”
          – They have been outcasts for a long time, & they are still outcasts now.

          = )

  15. dai
    November 20, 2013 at 4:19 am (2 years ago)

    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.

  16. Wojtek
    December 14, 2013 at 4:17 pm (2 years ago)


    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.

    • Melanie
      February 22, 2014 at 4:01 pm (2 years ago)

      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.

      • Naseer
        March 6, 2014 at 12:55 am (2 years ago)

        Thank you,