Давайте разберем маленький, но занятный и довольно важный вопрос: как перевести фразу:"How long are you here"?
И чем она отличается (если вообще отличается) от "How long have you been here"?
Пожалуйста, попробуйте ответить, а потом читайте дальше.
*
*
*
Ответили?
Итак:
How long have you been here? - значит "Как давно ты уже здесь находишься?"
How long are you here? - "Сколько ты здесь будешь находиться", "Как надолго ты здесь?"
То есть Present Perfect (have you been here) мы скажем, чтобы узнать, сколько человек уже провел здесь на настоящий момент.
А Present Simple (are you here) – чтобы узнать, сколько он еще будет здесь находиться в будущем. Как ни странно, это синоним фразы “How long will you be here?”
Вот еще примеры:
How long are you in London? - Сколько ты пробудешь в Лондоне?
How long have you been here in London? - Как давно ты уже здесь, в Лондоне?
I'm here for three weeks. - Я пробуду здесь три недели.
I've been here for three weeks. - Я здесь уже нахожусь три недели.
А если человек уже уехал из Лондона, пробыв там три недели, то диалог с ним будет выглядеть так:
How long were you in London? – I was there for three weeks.
То есть вся ситуация будет в Past Simple.
И еще такая мелочь. В подобных вопросах в конце можно вполне добавить слово for. Которое значит “в течение”.
How long are you here for?
How long have you been here for?
How long were you in London for?
А можно и не добавлять. Оба варианта звучат хорошо.
И совсем последняя мелочь. Во фразе “Ты когда-нибудь был в Лондоне?” нужно говорить предлог “to” (это такой удивительный глюк английского языка): “Have you ever been TO London?”
А вот во фразе “Как давно ты уже в Лондоне” – уже другое значение Present Perfect, и в ней нужно говорить “How long have you been IN London?”
Куча деталей, но если перечитать разок-другой – а примеры сказать вслух! – то все разложится по полочкам. И вы больше не будете делать ошибок, которые делает 90% изучающих английский. Ура!