Unit 18. Present perfect (I have done / I have been doing) with how long, for, since
Study this example situation:
We use the present perfect continuous (I have been doing)
to say how long something has been happening. Note that the action is still happening now.
I’ve been studying English for a long time.
Sorry I’m late. Have you been waiting long?
It’s been raining since I got up this morning. Sometimes the action is a repeated action (see also Unit 16b):
Liz has been driving for ten years.
How long have you been smoking?
The continuous (I have been doing) or the simple (I have done) can be used for actions repeated over a long period: I‘ve been collecting / I’ve collected stamps since I was a child.
My father has always worked hard, (not has always been working) We use the continuous for situations over a shorter time. Compare:
We use the simple (I have done) for situations that exist for a long time (especially if we say always). Note that the situation still exists now.
John has been living in Caracas since January.
John has always lived in Caracas.
How long have Bob and Alice been married?
Some verbs (for example be, have, know) are not normally used in the continuous (see Unit 3b for a list and Unit 23 for have):
Sue has had a cold for the past week, (not has been having)
Bill and I have known each other since high school.
I’ve been waiting here for an hour, (not I am waiting)
Do not use the simple present (I do) or present continuous (I am doing) to say how long something has been happening:
How long have you known Jane? (not do you know)