Для вопросов с “How long …? – Сколько? Как давно?” характерно использование времени Present Perfect Continuous.
How long have you been walking? – For three hours.
Сколько ты гуляешь? – Три часа.
Это касается и предложений, содержащих ответ на вопрос «как долго», «как давно»:
They’ve been running for fifteen minutes. – Они бегают 15 минут.
She’s been waiting for you since breakfast! – Она тебя ждёт с завтрака!
My father works at a factory for 30 years. – Мой отец работает на заводе 30 лет.
Однако во многих случаях вместо Present Perfect Continuous используется Present Perfect.
We’ve been married for ten years. – Мы женаты десять лет.
They’ve known each other for a very long time. – Они знают друг друга очень давно.
He has been in New York for half a year already. – Он в Нью-Йорке уже полгода.
Это касается глаголов, которые не могут использоваться во временах группы Continuous – to love, to like и другие, а также глагола to be. Глаголы to live и to work употребляются в этом значении как в Present Perfect Continuous, так и в Present Perfect:
He’s been living here for a long time. = He’s lived here for a long time. – Он живёт здесь давно.
I’ve been working as a teacher since 2007. = I’ve worked as a teacher since 2007. – Я работаю преподавателем с 2007.
Если в предложении есть слово always (всегда), то возможен вариант с Present Perfect:
We’ve always lived in Russia. – Мы всегда жили в России.
He’s always worked at the same position. – Он всегда работал на одной должности.
Также только вариант с Present Perfect предпочтителен в отрицательных предложениях, например:
I haven’t eaten chocolate since last Christmas. – Я не ел шоколад с прошлого Рождества.
I haven’t read good books for a long time. – Я давно не читал хороших книг.
Читайте по теме:
Echo Questins в английском языке
Как задать вопрос в английском языке