We can use the present perfect (and the present perfect continuous) to say how long an action has been happening. This action is one that started in the past and has continued until the present. There are basically two words we can use to introduce any time expression with the present perfect and the present perfect continuous: “for” and “since”.
We can use “for” with periods of time. For example: for three years, for ten minutes, for six days.
a) I have lived in this house for eight years.
b) He has had that watch for twenty years.
c) She has been waiting for 6 minutes.
d) They have been working here for nine months.
We can also use “for” with nouns that represent periods of time. For example: for ages, for a long time, for too long, for years, etc.
a) I have been living here for ages.
b) She has been working here for too long.
We can use “since” to say exactly when an action started in the past. For example: since last year, since last week, since ten days ago, since last Monday, since 1876, etc.
a) I have known her since 1993.
b) I haven’t had a drink since last week.
c) We’ve had this dog since March.
d) I’ve been here since 9 o’clock this morning.
“Since” can also be followed by a clause. For example:
a) He hasn’t stopped talking since he got here.
b) This cat has been living here since it arrived four days ago.
c) They have stopped smoking since they saw that film about the negative effects of tobacco.
So, what’s the difference between “since” and “for”? Well, as you’ve seen, both words are used to introduce time expressions with the present perfect and present perfect continuous. However, the basic difference is that we use “for” with periods of time, and we use “since” to refer to a specific point in time.