A. Compare When…? (+ past simple) and How long…? (+ present perfect):
A: When did it start raining?
B: It started raining an hour ago/at 1 o’clock.
A: How long has it been raining?
B: It’s been raining for an hour/since 1 o’clock.
A: When did Joe and Carol first meet?
B: They first met a long time ago/when they were at school.
A: How long have Joe and Carol known each other?
B: They’ve known each other for a long time./since they were at school.
B. We use both for and since to say how long something has been happening.
We use for when we say a period of time (two hours, six weeks etc.):
* I’ve been waiting for two hours.
for two hours
two hours ago -> now
two hours/a week/20 minutes/50 years/five days/a long time/six months/ages
* Sally’s been working here for six months. (not ‘since six months’)
* I haven’t seen Tom for three days. (not ‘since three days’)
We use since when we say the start of a period (8 o’clock, Monday, 1985 etc.):
* I’ve been waiting since 8 o’clock.
since 8 o’clock
8 o’clock -> now
8 o’clock/1977/Monday/Christmas/12 May/lunchtime/April/they were at school
* Sally’s been working here since April. (= from April until now)
* I haven’t seen Tom since Monday. (= from Monday until now)
It is possible to leave out for (but not usually in negative sentences):
* They’ve been married (for) ten years. (with or without for)
* They haven’t had a holiday for ten years. (you must use for)
We do not use for + all… (all day/all my life etc.):
* I’ve lived here all my life. (not ‘for all my life’)
C. We say ‘It’s (a long time/two years etc.) since something happened’:
* It’s two years since I last saw Joe. (= I haven’t seen Joe for two years/the last time I saw Joe was two years ago)
* It’s ages since we went to the cinema. (= We haven’t been to the cinema for ages)
The question is How long is it since…?
* How long is it since you last saw Joe? (= When did you last see Joe?)
* How long is it since Mrs Hill died? (= When did Mrs Hill die?)