Present perfect

Level: beginner

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

We use the present perfect:

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

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

I've seen that film before.
I've played the guitar ever since I was a teenager.
He has written three books and he is working on another one.

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.

and we use never for the negative form:

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

Present perfect 1

GapFillTyping_MTYzMDE=

Present perfect 2

GapFillTyping_MTYzMDU=

  • for something that happened in the past but is important in the present:

I can't get in the house. I've lost my keys.
Teresa isn't at home. I think she has gone shopping.

Present perfect 3

Matching_MTYzMDY=

Present perfect 4

GapFillTyping_MTYzMDc=

have been and have gone

We use have/has been 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's Maria? I haven't seen her for weeks.
B: She's gone to Paris for a week. She'll be back tomorrow.
 

have been and have gone

MultipleChoice_MTYzMTA=

Present perfect with time adverbials 

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

recently just only just

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

or adverbials which include the present:

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

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

After a clause with the present perfect we often use a clause with since to show when something started in the past:

I've worked here since I left school.
I've been watching that programme every week since it started.

Present perfect with time adverbials 1

MultipleChoice_MTYzMTM=

Present perfect with time adverbials 2

GapFillTyping_MTYzMTQ=

Be careful!
We do not use the present perfect with adverbials which refer to a finished past time:
yesterday last week/month/year in 2017 when I was younger etc.

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 the present perfect with adverbials which refer to a time which is not yet finished:
today this week/month/year now that I am 18 etc.

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

Present perfect and past simple 1

MultipleChoice_MTYzMTU=

Present perfect and past simple 2

GapFillTyping_MTYzMTc=

Level: intermediate

Present perfect continuous

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

We normally use the present perfect continuous to emphasise that something is still continuing in the present:

She has been living in Liverpool all her life.
It's been raining for hours.
I'm tired out. I've been working all day.
They have been staying with us since last week.

We do not normally use the present perfect continuous with stative verbs. We use the present perfect simple instead:

I've always been liking liked John.

Present perfect continuous 1

GapFillDragAndDrop_MTYzMTg=

Present perfect continuous 2

GapFillTyping_MTYzMTk=

Present perfect for future

We normally use the present simple to talk about the future in clauses with before, after, until, etc.:

I'll keep looking until I find my book.
We'll begin when everyone arrives.

but we can also use the present perfect:

I'll keep looking until I have found my book.
We'll begin when everyone has arrived.

Average
Average: 4.2 (140 votes)
Do you need to improve your English grammar?
Join thousands of learners from around the world who are improving their English grammar with our online courses.

Submitted by Sokhomkim on Thu, 15/02/2024 - 00:36

Permalink

Hello, Sir.
I wanted to know if the two sentences are correct.
1. Did any of your friends graduate this year?
2. Have any of your friends graduated this year?
I think sentence 1 is more correct because the action finished although the time is not over. Personally it's not possible that "graduate" happens again.
However, we can use the present perfect to introduce a new piece of information, so I think the present perfect is also correct.
Thank you for your time.

Hello Sokhomkim,

Yes, both sentences are possibly correct. Which one is better depends on when the graduation was, what day it is now and how the speaker views the events or how relevant the graduation might be to the situation the speaker and listener are in. There are many different possibilities.

Best wishes,
Kirk
LearnEnglish team

Thank you so much, Sir.
1. My friends graduated in October. Now it's November. The year is not over yet. Is it correct to say "my friends graduated from high school this year.
2. My friends graduated in December (2023). Now it's Jan 1, 2024. Can I use the phrase "this year"? "My friends graduated from high school this year."
A friend of mine told me that "this year" is only used with the present perfect because the time is not over.
Your reply is really a big help for me.
Thank you for your time.

Hello Sokhomkim,

Yes, 1 is correct.

In the case of 2, if you're thinking of an academic year from September to June, then yes, it's fine to say 'this year'. If you're thinking of the calendar year, then it would be strange to say 'this year'; instead, I'd probably say 'last month'. You could even say 'just' if you take a perspective that last month is relatively recent -- in the grand scheme of most people's lives, one month is not a long time ago.

As you can see, it really depends a lot on how the speaker sees the situation.

What your friend told you about 'this year' and the present perfect is a general rule that teachers often give to students. Many such rules -- like this one -- don't cover the vast field of possible uses of different forms. They are useful, but it's more important to understand the logic behind them, which I can see you are working hard to do. Keep it up!

Best wishes,
Kirk
LearnEnglish team

Submitted by Christine Athens on Tue, 13/02/2024 - 09:38

Permalink

Hello,

Is there an option to download the explanations and exercises of this page?

Thanks

Hello Christine Athens,

We have not created PDFs of these pages, but if the copy is for your own personal use, you are welcome to copy the explanation and exercises into a document.

Best wishes,
Kirk
LearnEnglish team

Submitted by viva on Sat, 20/01/2024 - 04:32

Permalink

Hello,
could explain why "create" without "s"?
"Have you ever watched somebody create a stunning painting?"

Hello viva,

We add -s to regular third-person present forms, so we normally say he (she/it) creates, as you suggest. However, the construction here is watch someone + base form: watch him create. The main verb (which does have -s in the present simple) is 'watch'.

 

The other sense verbs work in the same way:

watch something happen > see / hear / listen to / feel / smell something happen

 

Peter

The LearnEnglish Team

Submitted by Khangvo2812 on Sat, 13/01/2024 - 11:30

Permalink

Could I use present simple to answer the question with present perfect tense?
E.g Why has she left?
She is busy dealing with her tasks.

Hi Khangvo2812,

Yes, you can. Even though the answer has a different tense, it still clearly answers the original question.

Jonathan

LearnEnglish

Submitted by Khangvo2812 on Sat, 13/01/2024 - 09:38

Permalink

There have been a lot of Vietnamese who thought I was a boy when they first heard my name because my name is very common for boys.
Could I combine the tenses like the above?

Hi Khangvo2812,

Yes, sure! It's correctly written and the meaning is clear.

Jonathan

LearnEnglish team

Profile picture for user ashiecajlenreese

Submitted by ashiecajlenreese on Fri, 01/12/2023 - 15:03

Permalink

I would like to ask regarding the question you have made in the section "Present perfect continuous 1"

why is the question "Stefan has been looking really sad since he came back from holiday. Do you know what's the matter?" using present perfect continuous? isnt it started since in the past bc there is "since he came back from holiday?" why wasn't it written in present prefect?

Hi ashiecajlenreese,

We can use "since" phrases with the present perfect continuous too (not just the present perfect simple). But the present perfect continuous emphasises that the action continues into the present moment. The present perfect simple can also mean that, but the continuous form emphasises the "still happening now" meaning more. It seems like a really current and immediate concern for the speaker. In comparison, if we say "Stefan has looked really sad since ...", the issue seems less immediate.

Also, it's common to use continuous forms for actions that we consider to be temporary, or not the usual situation, which also seems to be the case here.

I hope that helps to understand it.

Jonathan

LearnEnglish team

Submitted by Sokhomkim on Sun, 22/10/2023 - 15:52

Permalink

Hello, Sir.
I wanted to know why the present perfect simple is the correct option.
A: I'm very hungry.
B: I'm not surprised. You ..... all day.
a. haven't been eating
b. haven't eaten
I think the phrase "all day" is mostly used with the perfect continuous except the stative verbs. Could I use the present perfect continuous in the sentence above? If so, I wanted to know what the difference between them is.
Thank you for your time.
Best Wishes!

Hello Sokhomkim,

The simple form is best here because you are interested in the result of a situation. Generally, the progressive form focuses on the activity, especially an incomplete or interrupted activity, while the simple form focuses on the result. Here are some examples to clarify:

  • I've read War and Peace > I can tell you about it / I don't want to borrow it / I want to see the film
  • I've been reading War and Peace > my eyes are tired / I haven't read another book / I haven't been out much recently
  • I've cooked dinner > you can have some / I'm ready to go out / I don't want to phone for a pizza
  • I've been cooking dinner > the kitchen is a mess / I'm tired / there's a smell in the house

 

It's generally more a question of nuance than a black and white rule, of course.

 

Peter

The LearnEnglish Team

Submitted by zamrasahamed on Tue, 17/10/2023 - 13:25

Permalink

Hi,
can you please clarify this? you have mentioned here that present perfect tense can be used when saying something which happened in past but important for now.

Is this sentence correct "I cannot enter my home because I have lost the key yesterday?

I have heard like present perfect tense should not be used when describing an event which happened in definite time in past and simple past tense has to be used instead
Please kindly sort this out

advance thanks

Hi zamrasahamed,

Yes, what you said at the end of your message is right. With the present perfect, the past time is not normally given. Both of these sentences are fine:

  • I cannot enter my home because I lost the key yesterday. (past simple)
  • I cannot enter my home because I have lost the key. (present perfect)

In both sentences, "I lost the key yesterday" and "I have lost the key" are clearly important now, since they are the cause of the current situation ("I cannot enter my home"). However, in the first sentence, the word "yesterday" locates the action "lost the key" at a past moment, so the past simple is used. In the second sentence, no time is mentioned, and the use of the present perfect presents the action as relatively recent and connected to the present topic or situation.

It's not usual to use the present perfect with a defined past time moment, e.g. I cannot enter my home because I have lost the key yesterday, and this may be considered a grammatical mistake.

I hope that helps!

Jonathan

LearnEnglish team

Submitted by Khangvo2812 on Wed, 04/10/2023 - 12:04

Permalink

Hello,
Could you explain why present perfect is used when we use the time adverbial like for the past three days?

Hi Khangvo2812,

If you say for the past three days, the meaning is "from three days ago until now". It is a time period that is unfinished at the moment of "now". We use the present perfect to talk about actions in this unfinished time period. 

You may be interested in our Present perfect page (linked), which has a few more examples and exercises about this. I hope it helps.

Jonathan

LearnEnglish team

Submitted by HLH on Wed, 20/09/2023 - 13:21

Permalink

Hello
example
This car has been sold ten times
can I say life experience for things ?

Hello again.

 

Yes, you can use the present perfect to describe things which happen in an unfinished time period (a person's life when they are still alive, an object's history when the object still exists etc). Once the time period is finished (the person dies, for example, or the object no longer exists) you use a past form.

 

Peter

The LearnEnglish Team

Submitted by Khangvo2812 on Tue, 19/09/2023 - 17:55

Permalink

Hello,
My friend said"I'm hungry" at 3:00 pm, should I ask him have you had lunch or did you have lunch?

Hello Khangvo2812,

Both are possible. I think 'Have you...' sounds better as you are talking about something with a present result. However, I'm a British English speaker and speakers of other dialects may prefer 'Did you...' In US English, for example, the past simple is common in this kind of context.

 

Peter

The LearnEnglish Team

Submitted by PN on Wed, 13/09/2023 - 07:09

Permalink

I have a question. Are these sentences have the same meaning? Is there any difference?

1. I have not been to Qatar.
2. I have never been to Qatar.

Thank you.

Hi PN,

They have a similar meaning, but sentence 2 with "never" is more emphatic. "Never" means "not at any time".

Jonathan

LearnEnglish team

Submitted by capelle on Mon, 14/08/2023 - 14:50

Permalink

Hello, Is it possible to ask a question about the previous lesson?
Thank you.

Submitted by ismmohit on Tue, 08/08/2023 - 10:14

Permalink

Good Afternoon Sir. I have gone through the entire lesson on present perfect as well as the comments thereunder.
Although the lesson is well-prepared with lots of practice exercises, still I have some doubts left in my mind.
May I request you to please clear the following doubts:-

1. I have had a headache. Does it mean that "headache started at some unspecified time in the past & continues up to the present moment" i.e. I am still suffering from headache or "headache started at some unspecified time in the past & ended in the past itself" i.e. I am no longer suffering from headache or can it mean both.

2. In the comments section, someone asked "He has been a soldier" and he was told that it means "he was a soldier at some point in time but no longer now". Other person asked "He has been a software Engineer" and he was told it could mean both "He may be a software Engineer now or He may not be". How to interpret the meaning of " He has been a soldier or software engineer or businessman etc."

3. Normally, if a sentence in present perfect is followed by a prepositional phrase (for/since) then it means that the action continues up to the present moment such as He has been married for 30 years (still married) or I have known him for 10 years (still known to me). But It is mentioned in the comment section that "I have waited for 03 hours" means that the action of waiting is completed. How to interpret present perfect tenses with for/since.

Thank You

Regards

Mohit Gupta

Hello Mohit,

It's difficult to respond to these questions without knowing the context for the utterances you're asking about. The context is important because it tells us something about the speaker's perspective and purpose. But I'll make some comments that perhaps are useful.

'I've had a headache' would normally have a time clause with 'since' or 'for' accompanying it. In these cases, I would understand it to mean that the speaker still has the headache at the time of speaking. Perhaps you come home and find your brother laying on the sofa. He's normally very active and so you ask him if he's OK and he says, 'I've had a headache for the past three hours and can't concentrate'.

Regarding 2, I'm afraid I don't have time to go and find the comments you've asked about, but I imagine it was due to the context mentioned in them, or perhaps the context we imagined when responding. In a job interview context, saying 'He has been a soldier/software engineer' could be used to refer to a person's specific past work experience, i.e. to say he has experience in that position, but it could also be used to refer to the job they still currently have. It depends.

Regarding 3, it's difficult for me to imagine a situation when someone would say this. People normally use a present perfect continuous form to talk about waiting that is still in progress, i.e. 'I've been waiting for three hours' is what we'd normally say if we're still waiting at the time of speaking.

I hope this helps.

All the best,
Kirk
LearnEnglish team

Submitted by Khangvo2812 on Mon, 07/08/2023 - 13:24

Permalink

Hello,
Could you check this sentence for me?
I haven’t met you for a long time. How’s everything going?

Hello Khangvo2812,

Among native speakers, we'd use 'haven't seen' or some other verb instead of 'haven't met', but in international contexts, people use sentences like this all the time and they are fine.

All the best,
Kirk
LearnEnglish team

Submitted by AboodKh9 on Mon, 31/07/2023 - 19:55

Permalink

Hello team!
I have a question regarding "for and since" can I use them at the beginning of the sentence?
For example:
Since 2020(,) I have been a teacher.
For three years(,)I have been a teacher.

And can be written with commas or without?

Hello AboodKh9,

It's fine to start sentences in this way, and it can be a good way to emphasise how long the action or state has been continuing. No comma is necessary.

 

Peter

The LearnEnglish Team

Submitted by priyansh030 on Wed, 28/06/2023 - 13:39

Permalink

Hello sir,
Could you explain the difference between these sentences as i am unable to understand the exact difference in the meaning,
He has been a soldier.
He was a soldier.

He has been brave.
He is brave.
In the last two sentences ,the state of being brave is continuing till the present so what is the difference?

Hello priyansh030,

If I understand the speaker's intentions correctly, 1a means that the man was a soldier at some point in his life but is not now. It's similar to saying 'I've visited Bangladesh' when you are now in Lahore -- it's a statement about an experience you have had in the course of your lifetime. This sentence shows that this man's life experience includes being a soldier at some point in time. Perhaps another person has said that the man was never a soldier, but this speaker says this sentence to insist that he has experienced being a soldier.

1b simply says that he was a soldier at some point in the past. Like 1a, it shows he is no longer a soldier. Both 1a and 1b could be used to answer many questions, but without knowing more about the situation, it's hard for me to justify using one or the other.

1a and 1b are about a man's work in the past. 2a and 2b are different because they speak about a man's personal qualities. In most cases, we would say 2b because we generally use the present simple to refer to the qualities a person has. It's not explicitly said, but we often assume that these qualities were also true in the past and will be true in the future. Again, without knowing more about the situation, I can't say much more.

2a is much more specific. It could, for example, refer to a recent experience in which a person has behaved in a way that is very brave. It could be that this surprised the speaker, but in any case it refers to a more specific time, a time the context presumably makes clear.

It's quite difficult to explain the differences between verb forms without more context, but I hope this gives you some ideas.

All the best,
Kirk
LearnEnglish team

Hello Sir, thanks a lot for the reply.
I think i was confused between having a quality from a specific and unspecific point of time in 2a,2b as simple present talks about talks about having a quality from an indefinite point of time.(Past-present-future)
Thanks a lot.

Submitted by Vijdan Rizvi 17 on Fri, 23/06/2023 - 04:08

Permalink

Is it grammatically correct "The children play all day long."

Thank you very much and kindly tell me one more thing,Which is more accurate:"The children play all day long." Or "The children have been playing all day long."

Hello Vijdan Rizvi,

Both are possible but have different meanings.

  • 'The children have been playing all day long' tells us about their activity on a particular day.
  • 'The children play all day long' tells us about how they typically spend their time. It is a general statement about the children's habits, not about a specific day.

 

Peter

The LearnEnglish Team

Submitted by LitteBlueGreat on Wed, 31/05/2023 - 01:35

Permalink

Hi, I have a problem. Please consider this

"I have been a software engineer" (I know this is a vague sentence)

if I introduce myself like the above without any complement like "for 10 years, all my life, etc", could it mean :

**for something that started in the PAST and CONTINUES in the present

OR

**when we are talking about our EXPERIENCE up to the present

Or both is possible? Thanks

Hi LitteBlueGreat,

If you say the sentences without any time reference (without 'for' or 'since', for example) then it tells us about your life experience. You can imagine listing achievements in a CV: I have had several jobs. I have been a project manager, I have been a consultant and I have been a software engineer. Note that you may or may not still be any of these things; the sentence by itself does not make this clear.

If you include a time phrase such as 'for ten years' or 'since 2015' then it tells us about something that began in the past and continues into the present.

 

Peter

The LearnEnglish Team

Submitted by Kay0129 on Sat, 01/04/2023 - 10:34

Permalink

Hello everyone, I have a question.

According to 'We use present perfect when we are talking about our experience up to the present' and the example ‘I’ve seen that film before.’ If I say ‘I’ve seen that film when I was a child’ does this sentence still correct?
The example (When we were children we have been to California.) in ‘We do not use the present perfect with adverbials which refer to a finished past time’ shows that we don’t use present perfect with past time adverbials. Does it correct If I say ‘We have been to California before’ instead of ‘When we were children we have been to California’ ? Why can’t we consider the sentence ‘When we were children we have been to California’ as an experience up to present?

Hi Kay0129,

No, I’ve seen that film when I was a child isn't considered correct. "When I was a child" refers to a finished past time. Other examples of finished past time references are last year and in 2018, and these are not usually used with the present perfect.

But it is fine to say We have been to California before, because "before" refers to a period of time lasting until the present moment (i.e., an unfinished past time). The sentence When we were children we have been to California isn't an experience up to the present, because "when we were children" is a finished time in the past. It locates the action (going to California) in the past, so it doesn't go with the present perfect.

Does that make sense?

Jonathan

LearnEnglish team

hi Kay0129

The sentence "I've seen that film when I was a child" is not grammatically correct because the adverbial phrase "when I was a child" refers to a specific finished past time. In this case, the past simple tense should be used instead of the present perfect tense. The correct sentence would be "I saw that film when I was a child."

The sentence "We have been to California before" is grammatically correct because the adverbial "before" is not a specific finished past time, but rather a general reference to a time that occurred before now. This is an acceptable usage of the present perfect tense.

The sentence "When we were children we have been to California" is not grammatically correct because it uses the present perfect tense with an adverbial phrase that refers to a specific finished past time. The sentence implies that the experience of going to California is ongoing, which is not the case. It would be more appropriate to say "When we were children, we went to California."

Profile picture for user khaledAl5

Submitted by khaledAl5 on Wed, 15/03/2023 - 21:14

Permalink

Hello everyone!
According to present perfect, we use it for past actions with a result in present.
So, I saw an example here says” Extremists have reached/ seized power in this country. You replied that past simple is more appropriate. But here, there is a result! Now they are running the country. I know that the verbs (reach and seize) occur at a particular moment, but here the focus is on the result that they maybe enact new laws and so on.

Thanks in advance.