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)
I studied French for 10 years. (simple past)
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 timesince + 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.
adan garcia says
thank you Melanie
José Fábio says
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 !!!
Caio Cardoso says
Thank you Melanie, your website helps me a lot for my exams!
=)
irma Rössler says
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
Melanie says
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?”
= )
John says
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 :(
Melanie says
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!
= )
John says
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!! :-((
André says
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.
samou says
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.
ALATOOM AWNI says
it is useful for all .we need it to improve our english language
Edel says
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
ann says
thank you!
Enma Kozatto says
Ne ne! thank you!!
This is perfect for my sister ^^
Arigatou!
閻魔くん—
Christin says
Perfect!!!!!
Romi says
thank you
neron says
Is “have long been” means “have been for a long time”?
Melanie says
Yes, you are correct!
‘Smoking has long been linked to lung cancer.” = Smoking has been linked to lung cancer for a long time.
http://www.macmillandictionary.com/dictionary/american/long_34
= )
neron says
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 says
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.
= )
dai says
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.
Wojtek says
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.
Melanie says
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 says
Thank you,