1. Two ways to answer “How long?”
Imagine a period from the beginning of an action to the moment of speaking. For measures the length of this period: twenty minutes. Since names its left boundary: from 10:00. These are different ways of presenting time, not different actions.
To choose the word, look at the expression AFTER it: is it an amount of time or a point from which you count? Do not automatically add already to express elapsed time; choose the duration or starting point that conveys the intended meaning.
for + duration; since + starting point
I have been waiting for twenty minutes.
I have been waiting for twenty minutes.
Twenty minutes measures the duration; the starting time is not given.
I have been waiting since ten o'clock.
I have been waiting since ten o'clock.
Ten o'clock is the beginning of the waiting. If it is 10:20 on the same day, both examples describe the same period.
2. For: an exact or approximate length of a period
After for, you can name an exact duration: ten minutes, three weeks, two years. You may also not know the exact number: a while, a long time, ages. In conversation, ages means “a very long time,” not a specific number of years.
For the last two weeks means “throughout the last two weeks.” The presence of last does not turn the period into a point: compare for the last week and since last week.
We have been discussing the plan for a while.
We have been discussing the plan for a while.
A while is an approximate duration, so we use for.
She has been using the new office for the last two weeks.
She has been using the new office for the last two weeks.
The last two weeks names the whole period, not the day when it began.
3. Since: a date, time, or event
You can name the beginning with a date, day, time, or noun phrase: since March, since Tuesday, since 8:30, since the move. You do not need to convert a date into a number of years if the exact moment of speaking is unknown.
After since, you can use a complete clause: since we opened the shop. For a one-time starting event, we often use the Past Simple. But the rule “always use the Past Simple after since” is incorrect: the Present Perfect is also possible, especially when that clause describes a state that is still continuing.
We have been receiving orders since we opened the shop.
We have been receiving orders since we opened the shop.
The opening is the event from which we count; opened naturally names it in the Past Simple.
Since I have been at home, I have been reading more.
Since I have been at home, I have been reading more.
Being at home is still continuing, so the Present Perfect is natural after since here.
4. An activity continuing until now: the main pattern of this lesson
For an activity that began earlier and is still continuing, it is useful to use have/has been + a verb ending in -ing, and then add the duration or starting point. The main decision here is for or since; study the Present Perfect Continuous structure separately.
A continuing activity does not necessarily happen without any breaks. Studying every evening or cycling several times a week can also form a habit that began earlier and is still continuing.
subject + have/has been + V-ing + for/since + time expression
- subject / S —
- The grammatical subject: who or what the clause is about; the verb agrees with it. In The book was written, the book is the subject, although someone else does the action.
- verb / V —
- A word for an action or state, such as work or be. The pattern determines its form.
- V-ing / -ing —
- The verb form ending in -ing: working, going. Its role depends on the construction.
The technician has been checking the lift for an hour.
The technician has been checking the lift for an hour.
The work is still continuing; for an hour measures its duration.
I have been cycling to work twice a week since April.
I have been cycling to work twice a week since April.
Since April marks the beginning of regular trips, not one uninterrupted journey.
5. How to ask about duration and beginning
How long have you been ...? asks about the duration of an activity up to now. In the answer, you can name the period with for or the beginning with since: both ways help us understand how long it has been continuing.
If you need the exact beginning, you can ask When did you start ...? or Since when have you been ...? The latter question can sometimes express surprise; in neutral conversation, a question about the beginning is often simpler. The short answer For about an hour is completely natural when the activity has already been mentioned.
How long have you been looking for a flat? — For about a month.
How long have you been looking for a flat? — For about a month.
The answer names the length of the search. The first for in looking for a flat belongs to the verb phrase look for, not to the measurement of time.
When did you start using this app? — In January. I have been using it since then.
When did you start using this app? — In January. I have been using it since then.
Since then refers back to the beginning already mentioned—January.
6. A period in negative sentences
For and since keep their meanings in negative sentences. I haven't received a reply for three days means that there has been no reply during the three-day period. Since Monday names the beginning of that period without a reply.
Pay attention to exactly what you are negating. I haven't been sleeping well for weeks means that sleep has been poor during this time, not that the person has not slept at all for several weeks. If someone has mistakenly given too long a duration, clarify the real number: only ten minutes.
We have not received any updates since Thursday.
We have not received any updates since Thursday.
Thursday sets the beginning of the period during which there have been no updates.
I have not been sleeping well for several nights.
I have not been sleeping well for several nights.
For several nights gives the duration of a recurring problem; well specifies that good sleep is what is being negated.
7. For and since do not choose the tense for you
For names a duration both in the completed past and in plans for the future. The sentence itself and the situation show where the period is located. The presence of for does not mean that the action must still be continuing now.
The Present Perfect Simple can also describe a state or activity continuing until now with for/since: I have lived here for years. With the verb know, use have known, not have been knowing, when describing familiarity. A detailed comparison of the simple and continuous perfect is a different topic; here, we do not label a correct simple perfect as wrong.
I worked in a bookshop for two months last summer.
I worked in a bookshop for two months last summer.
For two months names a completed period in the past.
We will rent a meeting room for three hours tomorrow.
We will rent a meeting room for three hours tomorrow.
The same function of for is duration, but the period is planned for the future.
I have known my neighbour since 2018.
I have known my neighbour since 2018.
The familiarity is continuing; since gives the starting point, and have known is the natural stative form.
8. Two acceptable variants that should not be “corrected”
Ago turns a duration into a relative point in the past: two years means a duration of two years, while two years ago means a point two years in the past. Therefore, since two years ago is grammatically possible, although for two years often sounds simpler. Do not confuse it with the incorrect since two years.
In some affirmative sentences, for can be omitted before a duration: I've been waiting twenty minutes. This is not an error. In negative sentences, we usually keep for. If an exercise specifically asks you to use for, the version without it does not meet the learning requirement, but it is not therefore ungrammatical.
I have been attending these classes since two years ago.
I have been attending these classes since two years ago.
Two years ago gives the starting point. A shorter, natural way to express the same duration is for two years.
We have been waiting twenty minutes.
We have been waiting twenty minutes.
You can add for before twenty minutes, but this affirmative version is already correct.
Common mistakes
Incorrect:I have been learning French since two months.
Correct:I have been learning French for two months.
Two months is a duration, not a starting point; minimally, replace since with for. Since two months ago would be another grammatically possible way to name the starting point.
Incorrect:We have been waiting for two hour.
Correct:We have been waiting for two hours.
For correctly introduces a duration, but after two, the plural form hours is required. Check not only the preposition but also the form of the time unit: an hour, two hours.
Incorrect:She have been working here for six weeks.
Correct:She has been working here for six weeks.
For six weeks correctly names the duration, but with she, has is required. Changing the time expression does not remove the agreement error.
Sources
- Cambridge English Grammar Today — For or since?
- Cambridge English Grammar Today — Since
- Cambridge English Grammar Today — Present perfect continuous
- British Council LearnEnglish — Present perfect; team response about since ... ago
- Cambridge English — English Grammar in Use, Unit 12: for and since (official two-page sample, read in full)