The present perfect is one of the trickiest tenses for learners of English. It can be difficult to know when to use it and translating from your first language might not help.
In this post, I'll explain one important use of the present perfect which is talking about the length of time of an activity or state.
How long have you...?
Talking about how long we have been doing something can cause problems for learners of English.
In German, it's quite easy to express this concept as follows:-
Ich wohne in Zürich seit 15 Jahre.
Here, the use of a present tense (wohne) shows that the speaker still lives in Zurich and the word 'seit' shows that this period started in the past. Simple!
Showing a connection to the present
In English we express this concept differently. We use the present perfect (have + past participle) to show that there is a connection to the present and refer to the length of time using the word 'for'. To translate the German sentence above, we get;
I have lived in Zurich for 15 years.
Unfortunately many of my students say 'I live in Zurich since 15 years' which is not correct. Often this doesn't cause big problems but if you are writing your CV or are doing a Cambridge exam then it is worth trying to get it right.
Read the following sentences about me to see some examples using the present perfect:
I have lived in Zurich since 2003. (I still live here)
I have worked as a teacher for 10 years. (I still do this)
I have been waiting for the bus for 10 minutes. (It still hasn't arrived)
I have been playing the piano since I was a child. (I still play the piano)
Present perfect simple or continuous?
You might have noticed that I used the present perfect continuous (have been +'ing) in the final two sentences. This is our first choice when talking about how long we have been doing something. However, we can't use the continuous form for state verbs (verbs like 'see', 'own' and 'know').
Present perfect or past simple
If there is no connection to the present use a past tense:
I lived in Manchester for 10 years. (I don't live there now)
The present perfect with haven't
Another interesting point concerns the word haven't. Consider the following sentences:
I haven't ridden my bike at all recently.
I haven't been riding my bike much recently.
Both sentences suggest a length of time of inactivity so arguably our first choice should be continuous. However, the first sentence uses simple. Here is a rule to help you choose the best option in an exam!
If the activity hasn't been done at all, use simple.
If the activity hasn't been done much, use continuous.
Finally, it is worth remembering that for some verbs like 'live' or 'work' it doesn't make a big difference whether we use present perfect simple or present perfect continuous. Both the following sentences are fine:
I've been working here for 12 months.
I've worked here for 12 months.
Perhaps the continuous option might sound more temporary but many listeners probably wouldn't notice this!
How to practice
Make sentences about yourself to practice this. Answer the following questions:
How long have you known your best friend?
How long have you lived in ....?
How long have you been learning English?
How long have you been working from home?
Think about something you haven't done for a while.
Think about something you haven't been doing much recently
In a nutshell
Use the present perfect to talk about the length of time of a state or activity ongoing up to the present. Remember there are other times that we use the present perfect.
Keep reading these grammar posts to find out more.
Learn more about grammar. Click here.