Present perfect with how long; simple past with when; since and for в английском языке
Use the simple past
) to ask or say when
- A: When did it start raining?
- B: It started raining at one o'clock/an hour ago.
- A: When did Joe and Carol first meet?
- B: They first met when they were in college/a long time ago.
Use the present perfect
(I have done/I have been doing
) to ask or say how long
something has been happening (up to the present):
- A: How long has it been raining?
- B: It's been raining since one o'clock/for an hour.
- A: How long have Joe and Carol known each other?
- B: They've known each other since they were in college/for a long time.
We use both since
to say how long something has been happening:
- I've been waiting for you since 8 o'clock.
- I've been waiting for you for two hours.
We use since when we say the beginning of the period (8 o'clock).
We use for when we say the period of time (two hours).
a long time
- She's been working here since April. ( = from April until now)
She's been working here for six months. (not since six months)
- I haven't seen Tom since Monday. ( = from Monday until now)
I haven't seen Tom for three days. (not since three days)
We do not use for
in expressions with all (all day/all morning/all week/all my life
- I've lived here all my life. (not for all my life)
Note the structure How long has it been since... ?
- A: How long has it been since you had a vacation?
- B: It's been (= it has been) two years since I had a vacation. (= I haven't had a vacation for two years.)
- It's been ages since Aunt Helen visited us. ( = She hasn't visited us for ages.)