We use for + a period of time (two hours, six weeks etc.):
I have been waiting for two hours.
- two hours
- a long time
- a week
- 20 minutes
Sally has 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 + the start of a period (8 o'clock, Monday, 1999 etc.):
I have been waiting since 8 o'clock.
- 8 o'clock
- we arrived
Sally has 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 all for my life)