Present perfect

Present perfect

Do you know how to use phrases like She's called every day this week, I've broken my leg and Have you ever been to Scotland? Test what you know with interactive exercises and read the explanation to help you.

Look at these examples to see how the present perfect is used.

He's been to ten different countries.
I haven't seen her today.
My phone's run out of battery. Can I use yours?
Have you ever dyed your hair a different colour?

Try this exercise to test your grammar.

Grammar test 1

Present perfect: Grammar test 1

Read the explanation to learn more.

Grammar explanation

We use the present perfect simple (have or has + past participle) to talk about past actions or states which are still connected to the present.

Unfinished time and states

We often use the present perfect to say what we've done in an unfinished time period, such as today, this week, this year, etc., and with expressions such as so far, until now, before, etc.

They've been on holiday twice this year.
We haven't had a lot of positive feedback so far.
I'm sure I've seen that film before.

We also use it to talk about life experiences, as our life is also an unfinished time period. We often use never in negative sentences and ever in questions.

I've worked for six different companies.
He's never won a gold medal.
Have you ever been to Australia?

We also use the present perfect to talk about unfinished states, especially with for, since and how long.

She's wanted to be a police officer since she was a child.
I haven't known him for very long.
How long have you had that phone?

Finished time and states

If we say when something happened, or we feel that that part of our life is finished, we use the past simple.

We visited Russia for the first time in 1992.
I went to three different primary schools.
Before she retired, she worked in several different countries.

We also use the past simple for finished states.

We knew all our neighbours when we were children.
I didn't like bananas for a really long time. Now I love them!

Past actions with a result in the present

We can use the present perfect to talk about a past action that has a result in the present.

He's broken his leg so he can't go on holiday.
There's been an accident on the main road, so let's take a different route.
They haven't called me, so I don't think they need me today.

Again, if we say when it happened, we use the past simple.

He broke his leg last week so he can't go on holiday.

However, we often use the present perfect with words like just, recently, already, yet and still.

We've recently started going to the gym.
She's already finished season one and now she's watching season two.
Have you checked your emails yet?

Do this exercise to test your grammar again.

Grammar test 2

Present perfect: Grammar test 2

Language level

Average: 4.1 (83 votes)
Profile picture for user Peter M.

Submitted by Peter M. on Sun, 02/05/2021 - 08:23

In reply to by Kapil Kabir

Permalink

Hello Kapil Kabir,

With the phrase 'it's (high/about) time...' we can use a past form (learnt) or a to-infinitive. We don't use use a present form.

You can read more about this here:

https://dictionary.cambridge.org/grammar/british-grammar/it-s-time

 

'Always' means every time or without exception. However, it can be used to mean very often as a form of exaggeration. All three of your examples are correct. The second suggests the speaker finds the situation a little irritating or exasperating.

 

Peter

The LearnEnglish Team

Submitted by Maahir on Tue, 20/04/2021 - 09:30

Permalink
Hi there, I was wondering why can't we use " have you had" instead of "did you have" regarding this question You've got a new car? How long ___ the old one? Thanks in advance
Profile picture for user Jonathan R

Submitted by Jonathan R on Tue, 20/04/2021 - 17:06

In reply to by Maahir

Permalink

Hi Maahir,

The question implies that the new car is a replacement for the old car (i.e., the person doesn't have the old one any more). So, since it's a finished time, did you have is the right answer here. Have you had is for an unfinished time.

Does that make sense?

Jonathan

The LearnEnglish Team

Submitted by Maahir on Thu, 22/04/2021 - 12:14

In reply to by Jonathan R

Permalink
Well understood. but is that mean if the speaker still have the old car for some reasons, we can use have you had?

Hello Maahir,

Yes, that's right. If the speaker still has the old car, 'How long have you had the old one?' would be correct.

All the best,

Kirk

The LearnEnglish Team

Submitted by Jack Red on Sat, 20/03/2021 - 15:49

Permalink
Hi, Which one looks correct? It's now midnight and I nedd to go to bed since I had a very busy day. It's now midnight and I nedd to go to bed since I've had a very busy day.
Profile picture for user Kirk Moore

Submitted by Kirk Moore on Sun, 21/03/2021 - 14:18

In reply to by Jack Red

Permalink

Hello Jack Red,

Both the past simple and present perfect are grammatically correct here and mean the same thing, really. In the first sentence, the user sees the day as finished whereas in the second one, she sees it as not quite over, or still relevant to the present moment even if it's over. There are many cases when the speaker's perspective on what they are speaking about will determine which verb form is the correct one. You might find our Talking about the past page useful.

Hope this helps.

All the best,

Kirk

The LearnEnglish Team

Submitted by Ayn on Mon, 15/03/2021 - 20:07

Permalink
He came earlier today. He has come earlier today. Now, in this context earlier is a stated time, but today is not over yet, so should we use present perfect*

Hello Ayn,

I've answered this question on another page for you. Please post questions once only; asking the same question multiple times only slows the process down.

 

Thanks,

 

Peter

The LearnEnglish Team

Submitted by Easy peasy on Fri, 05/02/2021 - 21:46

Permalink
Hello British council team, I am confused about the following sentence I.........working in my company and i look for another job A. Enjoyed B. Have enjoyed Which tense is more accurate in this sentence ? Ok thanks in advance