Using the Present Perfect

When should we use the present perfect tense?

This is one of the most difficult tenses to use correctly. I hope the rules below are helpful:

Present Perfect Infographic We use this tense for unfinished and finished actions:

Unfinished Actions
We use this tense when we want to talk about unfinished actions that started in the past and continue to the present. Usually we use it to say 'how long' an action or state has continued with 'since' and 'for'. Often, we use stative verbs in this situation:
  • I've known Karen since 1994.
  • She's lived in London for three years.

'Since' and 'For'
We use 'since' with a fixed time in the past (2004, April 23rd, last year, two hours ago). The fixed time can be another action, indicated with the past simple (since I was at school, since I arrived):
  • I've known Sam since 1992.
  • I've liked chocolate since I was a child.
  • She's been here since 2pm.

We use 'for' with a period of time (2 hours, three years, six months):

  • I've known Julie for ten years.
  • I've been hungry for hours.
  • She's had a cold for a week.

Finished Actions
1: Life experience
(we don't say when the experience happened, just sometime in the past)
  • I have been to Tokyo.
  • She has lived in Germany.
  • They have visited Paris three times.
  • We have never seen that film.
  • Have you ever read 'War and Peace'?
2: A finished action with a result in the present (focus on result)
  • I've lost my keys (so I can't get into my house).
  • She's hurt her leg (so she can't play tennis today).
  • They've missed the bus (so they will be late).
  • I've cooked dinner (so you should come and eat).
3: With an unfinished time word (this month, this week, today, in the last year)
  • I haven't seen her this month.
  • She's drunk three cups of coffee today.
  • This week they've been shopping four times.

Note: We can't use the present perfect with a finished time word:

'Been' and 'Gone'
In this tense, we use both 'been' and 'gone' as the past participle of 'go', but in slightly different circumstances.
We use 'been' (often when we talk about 'life experience') to mean that the person being talked about has visited the place, and come back. Notice the preposition 'to':
  • I've been to Paris (in my life, but now I'm in London, where I live).
  • She has been to school today (but now she's back at home).
  • They have never been to California.
We use 'gone' (often when we are talking about an action with a result in the present) to mean that the person is at the place now:
  • 'Where's John?' 'He's gone to the shops' (he's at the shops now).
  • Julie has gone to Mexico (now she's in Mexico).
  • They've gone to Japan for three weeks (now they're in Japan).

Click here to learn about how to make this tense