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 (89 votes)

Hi Rabearabea,

The past simple is possible in all of these sentences. We might use the past simple if we simply wish to describe past events. It's also relatively common to use the past simple instead of the present perfect to express recent events similar to sentence 3, especially in American English.

I hope that helps.

Jonathan

LearnEnglish team

Submitted by Rabearabea on Mon, 06/02/2023 - 10:58

Permalink

Hi Learn English Team,
Is it correct to say " They have married since 2010" and does it mean the same as " They have been married since 2010" ?
With my regards

Hello Rabearabea,

'They have married since 2010' is not correct. 'marry' is a verb, but when we're talking about the length of a marriage, we typically use the adjective 'married'. In the second sentence, 'They have been married since 2010' (which is correct), 'married' is an adjective.

You can see lots of useful examples of how the verb 'marry' is used by following the link to the dictionary.

All the best,
Kirk
LearnEnglish team

Submitted by howtosay_ on Thu, 05/01/2023 - 07:37

Permalink

Hello!

Could you please help me with the following:

As far as I know we use Present Perfect to tell about our expiriences, like "I've been to many countries" or "I've ridden a horse". Is it correct to say I've celebrated New Year with my friends? Can it be reffered as exprierince?

I'm very grateful to you for your important work and thank you very much for answering this comment beforehand!!!

Hello howtosay_,

It depends on what you mean. If you mean to say that at some point in your life you have experienced a New Year celebration with your friends (for example, as opposed to celebrating it alone or with your family), then the present perfect is the verb form you should use to express this.

But if you are referring to a time that you celebrated with friends -- for example, a week ago -- then the past simple is the correct form. 

Does that make sense?

All the best,
Kirk
The LearnEnglish Team

Submitted by YTN on Fri, 02/12/2022 - 07:43

Permalink

Dear Sir/Madam

I have doubts in the responses of 4,8 & 23 June 2022 for applying them to my enquiry appropriately, please.

Someone notified me by email on 2022-12-01 at 1657 hours, probably after his/her internet bank transaction made on the same day.

"We have transferred the allowance below to your bank account on 01 December 2022."

(a) I am not quite sure whether such bank transfer was done in the morning or afternoon session on 2022-12-01 (or "today")?

(b) If we prefer using present perfect tense, is it better to drop "on 01 December 2022"; or better use past simple tense when a date is mentioned?

(c) Given that their bank action time (a.m. / p.m.) was unknown, could I rewrite it as "We transferred the allowance below to your bank account today." for such finished action?

Kind regards

YTN

Hello YTN,

a) It's not clear if it was made in the morning or afternoon, but 'have transferred' suggests it was made that day.

b) It's OK to use present perfect here, though I think it'd be better to combine it with 'today' -- the date should be clear from the timestamp on the email. Alternatively, if the date is mentioned, yes, I think past simple might be better.

c) Yes.

Best wishes,
Kirk
The LearnEnglish Team