For и since в вопросах When …? How long …?

Предлог for употребляется для обозначения времени со значением «в течение» при указании, как долго длится действие (выражаемое обычно глаголом в Present Perfect Continuous или Present Perfect). При переводе на русский язык предлог может опускаться.

I’ve been waiting for you half an hour already. – Я тебя жду уже полчаса / в течение получаса.
I’ve worked as programmer for 20 years. – Я работаю программистом 20 лет / в течение 20 лет.

В английском языке этот предлог также можно опустить:

They’ve been to St Petersburg (for) three days. – Они в Санкт-Петербурге три дня.
We’ve been watching this film (for) almost two hours. – Мы смотрим этот фильм почти два часа.

Однако в отрицательных предложениях предлог for не опускается:

They haven’t been to France for three years. – Они не были во Франции три года.
We haven’t been to the cinema for ages. – Мы не были в кино уже давно.

С таким обозначениями периода действия, как all day (весь день), all week (всю неделю), all one’s life (всю жизнь) предлог for не употребляется:

She’s worked there all her life. – Она работает там всю жизнь.
He’s been watching TV all morning. – Она смотрит телевизор всё утро.

Since

Предлог since употребляется со значением «с» при указании на момент, когда действие, обычно ещё не заканчивающееся к моменту речи, и, как правило, выраженное глаголом в Present Perfect Continuous или Present Perfect, началось:

I’ve been waiting for you since midday. – Я тебя жду с полудня.
They’ve heard this noise since morning. – Они слышать этот шум с утра.

Момент начала действия может обозначаться как конкретным временем (since 5 o’clock, since midnight, since morning), так и другим действием, выраженным глаголом в Past Simple. В таком случае предлог since часто переводится не только как «с», но и как «с тех пор (как)».

I’ve been waiting for you since the classes finished. – Я жду тебя с окончания занятий.
We’ve been friends since his family became our neighbours. – Мы дружим с тех пор как его семья поселилась по соседству.
I haven’t seen him since he left. – Я не видел его с тех пор как он уехал.
It’s been a long time since me last met. – С тех пор как мы виделись, прошло много времени.

Не путайте вопросы When …? (когда?) и How long …? (Сколько? Как давно?) – в первом случае глагол должен быть в Past Simple, в втором – в Present Perfect Continuous или Present Perfect:

When did you move to this house? – We moved here three years ago.
Когда вы переехали в этот дом? – Мы переехали сюда три года назад.
How long have you lived in this house? – We’ve lived here for three years.
Как давно вы живёте в этом доме? – Мы живём здесь три года.
When did Linda and Tom marry? – They married a month ago.
Когда поженились Линда и Том? – Они поженились месяц назад.
How long have they been married? – They’ve been married since August.
Как давно они женаты? – Они женаты с августа.

Читайте по теме:

Союзы и предлоги цели: to, for и such

Сложные предложения в английском языке