Talking about how long we have been doing something can cause problems for learners of English.
In German, it's quite easy to express a concept such as the following;
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!
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 the Cambridge exam then it is worth trying to get it right.
Read the following sentences about me and then try to write similar sentences about yourself.
I lived in Manchester for 10 years. (I don't live there now)
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).
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 this continuous form for state verbs (verbs like 'see', 'own' and 'know'). For some verbs like 'live' or 'work' it doesn't make a big difference whether we use present perfect simple or present perfect continuous.
Now try to make sentences about yourself to practice this. Try answering 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?