Чтобы сказать о чем-то, что началось давно и имеет значение на сегодня, применяется present perfect continuous или present perfect. For since правило по этим предлогам, главной функцией которых является указание периода действия, по применению схожи с вопросом How long.
- Mel has been working here for 20 years − Мэл работает здесь 20 лет.
Or
- Mel is a good specialist he has a lot of experience. He has worked here for 20 years − Мэл — хороший специалист, у него большой опыт. Он проработал здесь 20 лет.
Содержание
Указатели для периода действия
Continuous применяют, чтобы сказать либо спросить, сколько длится действие, которое все еще продолжается.
How long have you been watching that magazine? − Как давно вы смотрите этот журнал?
Present perfect чтобы сказать либо спросить, сколько времени ушло на завершенное действие.
How many pages of that magazine have you watched? − Сколько страниц этого журнала вы просмотрели?
Со словами live и work приемлемо использовать и continuous, и simple:
- Ben has been living in Moscow for a long time − Бен уже давно живет в Москве.
- Ben has lived in Moscow for a long time − Бен долгое время жил в Москве.
- How long has Alex been working for this company? − Как давно Алекс работает в этой компании?
- How long has Alex worked for this company? − Как долго Алекс работает в этой компании?
Для действий, повторяющихся на протяжении долгого периода тоже можно применить и continuous, и simple:
- Alice has been collecting famous actors’ pictures since she was a child − Элис с детства коллекционировала фотографии известных актеров.
- Alice has collected famous actors’ pictures since she was a child − Алиса с детства коллекционировала фотографии известных актеров.
Со словом always используется simple:
- Andy has always lived in Moscow − Энди всегда жил в Москве (не has always been living)
Continuous чаще употребляется с выражениями how long, since and for.
How long (как долго, сколько)
Когда мы хотим узнать, как долго или сколько длится какое-то событие, действие, используем вопросительное словосочетание How long. Т.е. нас интересует период действия события, которое продолжается и сейчас (либо только что закончилось).
- How long has John been in the village? − Как давно Джон в деревне?
- This car is very old. How long have you had it? − Эта машина очень старая. Как давно она у вас?
Можно сравнить два времени present и present perfect:
- The weather is awful. It’s raining again − Погода ужасная. Снова идет дождь.
- The weather is awful. It has been raining all day. − Погода ужасная. Весь день шел дождь.
Since (начиная с, с)
- Has anyone seen Andy? — She’s been on vacation since Monday − Кто-нибудь видел Энди? — Она в отпуске с понедельника.
- Is Susan watching TV? — Yes, she’s been watching it since 2 o’clock − Сьюзан смотрит телевизор? — Да, она смотрит его с 2 часов дня.
- It’s been snowing since morning − Снег идет с самого утра.
For (в течение, на протяжении)
- The Browns have been married for ten years − Брауны женаты уже десять лет.
- We haven’t seen each other for ages − Мы не видели друг друга целую вечность.
- Tom has been playing tennis for five years − Том занимается теннисом пять лет.
Есть ряд глаголов, которые не используются в continuous: know, like, believe.
В отрицательных предложениях используется present perfect simple:
- Ann hasn’t been to school since Tuesday − Анна не была в школе со вторника.
- (т.е. Вторник – последний день, когда она была в школе).
- My grandson hasn’t came to us for two weeks − Мой внук не приходил к нам уже две недели.
Since for правило, объясняющее эти предлоги, показывает различия между сходными контекстами. How long работает в этом же направлении.
Правила на предлоги и времена есть на нашем сайте. Welcome!