Present perfect

This page explains the difficulty of present perfect for English language learners.

In a previous article about past tense I discussed the problems the learner of English faces in deciding which tense to use when talking about a past event. I concentrated in that article on the choice between the past simple and the present perfect.

In fact, however, the present perfect has two forms, the simple form and the continuous form. So the choice is even more complicated than it might seem at first.

The following sentences are examples of the two present perfect forms:

  • I've lived in Frankfurt for 10 years. (simple)
  • I've been living in Frankfurt for 10 years. (continuous)
  • I haven't done much exercise recently. (simple)
  • I haven't been doing much exercise recently. (continuous)
  • What have you done? (simple)
  • What have you been doing? (continuous)

The problem for the learner in deciding which of the forms to use is that in some cases they have identical (or almost identical) meanings. In other cases they each have a different meaning; and in yet other cases only one of the forms is possible.

1.) As an example of a case when the two forms (simple and continuous) have more or less the same meaning, look at the following sentences:

  • I've worked in the same job for the past 30 years.
  • I've been working in the same job for the past 30 years.
  • I haven't eaten much chocolate recently.
  • I haven't been eating much chocolate recently.

There is a slight hint that the speaker of the second of each of these sentences wants to emphasise the ongoing nature of the working or the eating. But only the most advanced learner of English need be concerned with this distinction.

2.) The next pairs of sentences are examples of when the two forms have different meanings.

  • I've learnt the new words.
  • I've been learning the new words.
  • I've done my homework.
  • I've been doing my homework.

In the first sentence (of the first example) the speaker wants to emphasise that he has finished learning all the verbs and now knows them. In the second sentence the speaker wants to point out that he has spent some time learning the new words, but it is not clear whether he has finished learning them all or not. A similar explanation applies to the second example.

3.) Finally, there are many occasions when only one of the two forms is possible. Look at the following pairs of sentences:

  • I've had my car for twenty years.
  • I've been having my car for twenty years.
  • She's had a shower for over an hour.
  • She's been having a shower for over an hour.

In the first example, the verb had (in the sense of possess) cannot be used in the continuous form and so the second sentence is impossible. In the second example, the first sentence is incorrect because it does not convey the duration of the action.

So, are there any useful rules that can help the learner select the correct verb from this jumble of possibilities? In fact there are, and they are summarized below:

  • 1.) Use the present perfect simple for a single, completed event in the past that has an impact on the present.
    • I have bought a new computer. (Do you want to see it?)
    • You've broken my calculator. (Why can't you be more careful?)
  • 2.) Use the present perfect simple for verbs that do not usually have a continuous form.
    • I've known her for 30 years.
    • I have never liked Chinese food.
  • 3.) Use either the present perfect simple or the present perfect continuous to talk about states or actions that started some time ago and continue into the present. They are more or less interchangeable.
    • I've played the piano all my life.
    • I've been playing the piano all my life
    • It's rained non-stop all day.
    • It's been raining non-stop all day.
  • 4.) Use the present perfect continuous to emphasise the duration of state or action that continues into the present or stops just before the present, (i.e. when you are more concerned with the activity itself than with the question of whether it has finished or not.)
    • I've been working in the garden all morning and now I'm ready for a drink.
    • She must be exhausted. She's been playing tennis for three hours now.

This issue frequently comes up on online English language forums, to two of which I contribute. Click the following button to read my answer to one such question on Stack Exchange: English Language and Usage.


Quiz

With these rules in mind, look at the following pairs of sentences and decide if both are possible or not. If they are both possible, try to explain the difference in the intention or meaning of the speaker that used them. Let's start with two of the examples from the introduction:

  • I've lived in Frankfurt for 10 years. (simple)
  • I've been living in Frankfurt for 10 years. (continuous)
  • What have you done? (simple)
  • What have you been doing? (continuous)

...

You are standing on the street corner waiting for a friend. When she arrives, she apologises for being late. How do you reply?

  • It's OK. I haven't waited for very long.
  • It's OK. I haven't been waiting for very long.

...

Imagine the situation at a party where your wife has just returned to the room after a short absence. What do you ask?

  • Who have you talked to?
  • Who have you been talking to?
  • Why are your eyes red? Have you cried?
  • Why are your eyes red? Have you been crying?

...

Which of the two questions in each case are you more likely to be asked?

  • How long have you been learning English ?
  • How long have you learned English ?
  • I hear your brother is an author. How many books has he written?
  • I hear your brother is an author. How many books has he been writing?
  • I've lived in Frankfurt for 10 years. (simple)
  • I've been living in Frankfurt for 10 years. (continuous)

Both of these sentences are possible and they have the same meaning. There is a slight hint in the second sentence that the speaker regards his stay in Frankfurt as temporary.

  • What have you done? (simple)
  • What have you been doing? (continuous)

These are both possible, but have different meanings. The first sentence could be said by a mother who hears a crashing noise in her son's room and goes in to ask him what has happened.

In the second sentence the son has returned from his room and his mother wants to know how he has been occupying himself over the last few hours.

  • It's OK. I haven't waited for very long.
  • It's OK. I haven't been waiting for very long. icon

The second sentence is more likely than the first. The speaker is emphasising the duration of the action (waiting) and so uses the present perfect continuous.

  • Who have you talked to?
  • Who have you been talking to? icon

In the first sentence the speaker seems to be asking "Who are all the people you talked to in the other room. This is possible but not as likely as the second sentence. In this one, you are implying that your wife had only one conversation partner and you are interested to know who it was that she was talking to for so long.

  • Why are your eyes red? Have you cried?
  • Why are your eyes red? Have you been crying? icon

Only the second sentence is likely. The questioner is interested in the activity of crying, not in the fact that it is finished, which is implied by the use of the present perfect simple in the first sentence.

  • How long have you been learning English? icon
  • How long have you learned English ?

The first answer sounds much better. The very question "how long?" indicates that the speaker is concerned with the duration of the activity.

  • I hear your brother is an author. How many books has he written? icon
  • I hear your brother is an author. How many books has he been writing?

The first sentence is much more likely than the second one. The speaker is asking how many books the brother has completed. The second sentence is just possible in a situation where the author is always writing many books at the same time, and the questioner wants to know how many books he has been writing over the recent time period.


There are numerous interactive quizzes on the present perfect in the Verb Grammar: Tenses drop-down list in the Grammar index.