present perfect

 

The present perfect is formed from the present tense of the verb have and the past participle of a verb:

The present perfect continuous is formed with have/has been and the -ing form of the verb:

Use

We use the present perfect tense:

  • for something that started in the past and continues in the present:

They’ve been married for nearly fifty years.
She has lived in Liverpool all her life.

Note: We normally use the present perfect continuous for this:

She has been living in Liverpool all her life.
It’s been raining for hours.

  •  for something we have done several times in the past and continue to do:

I’ve played the guitar ever since I was a teenager.
He has written three books and he is working on another one.
I’ve been watching that programme every week.

We often use a clause with since to show when something started in the past:

They’ve been staying with us since last week.
I have worked here since I left school.
I’ve been watching that programme every week since it started.

  • when we are talking about our experience up to the present:


Note: We often use the adverb ever to talk about experience up to the present:

My last birthday was the worst day I have ever had.

Note: and we use never for the negative form:

Have you ever met George?
Yes, but I’ve never met his wife.

  • for something that happened in the past but is important at the time of speaking:

I can’t get in the house. I’ve lost my keys.
Teresa isn’t at home. I think she has gone shopping.
I’m tired out. I’ve been working all day.

 

 We use the present perfect of be when someone has gone to a place and returned:

A: Where have you been?
B: I’ve just been out to the supermarket.

A: Have you ever been to San Francisco?
B: No, but I’ve been to Los Angeles.

But when someone has not returned we use have/has gone:

A: Where is Maria? I haven’t seen her for weeks.
B: She's gone to Paris for a week. She’ll be back tomorrow.

We often use the present perfect with time adverbials which refer to the recent past:

just; only just; recently;

Scientists have recently discovered a new breed of monkey.
We have just got back from our holidays.

or adverbials which include the present:

ever (in questions); so far; until now; up to now; yet (in questions and negatives)

Have you ever seen a ghost?
Where have you been up to now?
Have you finished your homework yet?
No, so far I’ve only done my history.

WARNING:

We do not use the present perfect with an adverbial which refers to past time which is finished:

I have seen that film yesterday.
We have just bought a new car last week.
When we were children we have been to California.

But we can use it to refer to a time which is not yet finished:

Have you seen Helen today?
We have bought a new car this week.

   

Exercise

Comments

Hi
I read your articles and they were very helpful. There was only a question on my mind which is if I want to say it's been 3 years that I have not spoken English, is that correct? Or should I say I have not spoken English for 3 years? Which is correct? Or if both are correct which one is more common and more used in everyday communication?
And one other question, is this note that I wrote grammatically correct? I was wondering how much I make mistakes while I speak English :)
Thanks a lot

Hello Neda k,

You can say either 'It's been 3 years since I have spoken English' or 'I have not spoken English for 3 years'.

We use 'since' with a point of time (here, the point of time is 'the last time I spoke English') and 'for' with a period of time (here, 'three years').

Best wishes,

 

Peter

The LearnEnglish Team

Hi! I'm glad I stumbled on this site. I was wondering maybe you guys could help me with perfect tenses. It's a nightmare.
I’ve played the guitar ever since I was a teenager.
is it ok to just simply say 'I played guitar since I was a teenager'?

I can’t get in the house. I’ve lost my keys.
would it be fine if I say '... . I lost my keys'?

We have just got back from our holidays.
Is this ok? We just got back... .

Is it ok to leave out the word 'have' coz they seem grammatical to me? I know in some instances it'd be awkward not to include 'have'.

Lastly, what is wrong with
'I have seen that film yesterday'.? I know 'I have seen that film' is fine, but what if you wanted specify that it was yesterday? I was thinking maybe I'll just have to rephrase.
I'd be delighted to see your thoughts.
Thanks!

Hello cooljust,

1. The normal form here would be 'have played'. This is explained in the first point on this page: 'We use the present perfect tense for something that started in the past and continues in the present.'

2. 'I lost my keys' implies this is an event in the past without any particular result now; 'I've lost my keys' tells the listener that this is news which is relevant now - i.e. it means '...and so I can't open the door'.

3. In rapid speech we often omit the 'have'. However, in written English it should be included.

4. The present perfect is used when the time is unfinished and continues up to the present, or when no time is specified. 'Yesterday' is a finished time so therefore we cannot use the present perfect.

Best wishes,

 

Peter

The LearnEnglish Team

 

Hello, I want to know 1.what is the difference in both sentences. (2)hope you said in 1. sentence action has completed while in 2. sentence it is going on "AM I RIGHT SIR?" but when did i read (Note: We normally use the present perfect continuous for this:)
meaning of both sentences are same? aren't then tell me differences.
Thanks

1.She has lived in Liverpool all her life.

2.She has been living in Liverpool all her life.

Hi shashank_sharma,

I'm afraid I don't understand what you're asking in the first paragraph of your comment.

As for the two sentences, I think it would be better if first you read our Present Perfect Simple and Continuous page, and then if you explained to us what you think the differences are. This will be a useful exercise for you and will allow us to see how you think so we can better help you.

Best wishes,
Kirk
The LearnEnglish Team

hi
what is the difference between saying "she's been living in liverpool all her life" and "she 's lived in liverpool all her life"
thanks

Hi Ahmed,

This is a very subtle distinction in this context and is largely dependent on what the speaker wishes to emphasise rather than any fixed grammar rule. Fortunately, we have a page with a detailed explanation, with many examples and with an exercise to practise this very point. You can find it here.

Best wishes

 

Peter

The LearnEnglish Team

sir
what should be the correct sentence if i want to tell when i saw the movie?
"I have seen that film yesterday".
thank you.

Hello mkashifk,

If you saw the film yesterday, you should use the past simple to speak about it: 'I saw that film yesterday.' You can read more about this on our talking about the past and past simple pages.

Best wishes,
Kirk
The LearnEnglish Team

Pages