Present Perfect — то самое время, из-за которого английская грамматика кажется сложной. Причина проста: в русском языке аналога нет, а значит, интуиция не помогает и приходится опираться на правило.

Формула

have / has + третья форма глагола (V3)

ЛицоФормаПример
I / you / we / theyhaveI have finished my homework
he / she / ithasShe has lost her keys

Третья форма у правильных глаголов совпадает со второй и получается через -ed: work — worked — worked. У неправильных она своя: see — saw — seen, write — wrote — written. Полный список — в таблице неправильных глаголов.

Четыре случая использования

1. Результат важен сейчас. I have lost my keys — потерял, и сейчас их нет. Момент потери не важен, важно нынешнее положение дел.

2. Опыт за всю жизнь. I have been to London twice — был дважды, когда именно, неважно.

3. Действие продолжается до сих пор (с since и for). I have lived here for ten years — живу десять лет и живу сейчас.

4. Недавнее действие со словами just, already, yet. I have just finished — только что закончил.

Маркеры

just (только что), already (уже), yet (ещё, в вопросах и отрицаниях), ever (когда-либо), never (никогда), since (с какого момента), for (в течение), recently, lately, so far.

Since и for путают: since — с точки во времени (since 2020, since Monday), for — с промежутка (for three years, for two hours).

Present Perfect или Past Simple

Это главная развилка всей темы.

Present PerfectPast Simple
Главный вопросчто имеем сейчас?когда это было?
Точное времянельзя указыватьобязательно есть или подразумевается
Маркерыjust, already, ever, sinceyesterday, last week, ago, in 2020
ПримерI have written the letterI wrote the letter yesterday
Смыслписьмо готововчера писал

Практическое правило: увидели в предложении точное время — берите Past Simple, не раздумывая.

Отрицание и вопрос

  • Отрицание: I have not (haven’t) seen this film.
  • Вопрос: Have you seen this film?
  • Специальный вопрос: How long have you known him?

Been или gone

Тонкость, которую спрашивают на экзамене:

  • She has been to Paris — была в Париже и уже вернулась.
  • She has gone to Paris — уехала в Париж и находится там сейчас.

Типичные ошибки

ОшибкаПравильно
I have seen him yesterdayI saw him yesterday
I have wrote a letterI have written a letter
He have finishedHe has finished
I am here since MondayI have been here since Monday
I have lived here since ten yearsI have lived here for ten years

Дальше: Past Simple, времена английского, неправильные глаголы.

Соседние темы

Перфект часто путают не только с Past Simple, но и с длительными формами. Разницу «процесс против результата» проще увидеть рядом: Past Continuous и процесс в прошлом, Perfect Continuous и длительность до момента.

For, since и ago: правило

Ago обычно ставят с Past Simple, since — с Present Perfect (и Present Perfect Continuous), а for подходит обоим временам, но меняет смысл. Ago отсчитывает время назад от сегодняшнего дня и указывает на конкретный момент в прошлом, поэтому с Present Perfect не сочетается: I met him three years ago. — Я познакомился с ним три года назад.

СловоЧто показываетВремяПример
sinceточку, с которой действие идёт до сих порPresent PerfectI have known him since 2021. — Я знаю его с 2021 года.
for + PPпромежуток, который длится до сейчасPresent PerfectI have known him for three years. — Я знаю его три года (и знаю сейчас).
for + PSпромежуток, который закончилсяPast SimpleI lived in Samara for three years. — Я жил в Самаре три года (теперь не живу).
agoмомент в прошлом, отсчитанный от сегодняPast SimpleWe moved here three years ago. — Мы переехали сюда три года назад.

Одну ситуацию можно описать двумя способами:

  • We moved here three years ago. — Мы переехали сюда три года назад.
  • We have lived here for three years. — Мы живём здесь три года.

Ago стоит после промежутка: two days ago, a week ago. Ошибка русскоговорящих — ago two days по образцу «назад на два дня». Так не говорят.

Has gone to, has been to, has been in: правило

Три сочетания отвечают на вопрос «где человек сейчас и был ли он там»:

ФормаСмыслГде человек сейчасПример
has gone toуехал тудатам или в путиDad has gone to work. — Папа ушёл на работу.
has been toпобывал и вернулсяне тамDad has been to Japan. — Папа бывал в Японии.
has been inнаходится там какое-то времятамDad has been in Japan since May. — Папа в Японии с мая.

Предлог подсказывает смысл. To — направление, «туда»: съездил или уехал. In — место, «там»: находится. Поэтому been in почти всегда идёт с since или for: She has been in hospital for a week. — Она в больнице уже неделю.

Про самого себя I have gone to обычно не говорят: если бы вы уехали и ещё не вернулись, вы не могли бы сейчас разговаривать с собеседником лицом к лицу. О своём опыте — I have been to: I have been to Minsk. — Я был в Минске.

Ever и never в Present Perfect

Ever (когда-нибудь) ставят в вопросах об опыте, never (никогда) — в утверждениях, и оба стоят между have и третьей формой.

  • Have you ever ridden a horse? — Ты когда-нибудь катался на лошади?
  • I have never ridden a horse. — Я никогда не катался на лошади.

Never уже содержит отрицание, поэтому второе not не нужно. I haven’t never — ошибка. Правильно I have never been there или I haven’t ever been there, смысл одинаковый.

Ever появляется и в утверждениях — после превосходной степени: It’s the best book I have ever read. — Это лучшая книга, которую я когда-либо читал.

В живом разговоре время часто меняется. Вопрос об опыте задают в Present Perfect, а как только появляются подробности «когда и как» — переходят на Past Simple:

  • Have you ever been to Kazan? — Ты бывал в Казани?
  • Yes, I have. I went there last summer. — Да. Я ездил туда прошлым летом.

For, since, ago, been, gone и ever/never

Вставьте подходящее слово или форму глагола.

  1. I have known Tom ___ (for / since) 2018.
    Ответsince — 2018 — точка во времени, поэтому since.
  2. We moved to Kazan three years ___ (for / ago).
    Ответago — Moved — Past Simple, момент отсчитан от сегодня: ago.
  3. She has worked here ___ (for / since) six months.
    Ответfor — Six months — промежуток, поэтому for.
  4. Mum isn’t at home. She has ___ (been / gone) to the shop.
    Ответgone — Мамы нет дома, она ушла и ещё не вернулась — gone.
  5. I have ___ (been / gone) to Italy twice.
    Ответbeen — Опыт: побывал и вернулся — been to.
  6. They have been ___ (to / in) Moscow since Monday.
    Ответin — Находятся в Москве с понедельника — been in.
  7. Have you ever ___ (eat) sushi?
    Ответeaten — Вопрос об опыте с ever — Present Perfect, третья форма eat — eaten.
  8. I have never ___ (be) to Paris.
    Ответbeen — Never в Present Perfect, третья форма be — been.
  9. I ___ (see) this film last week.
    Ответsaw — Last week — точное время, значит Past Simple.
  10. He ___ (lose) his phone two days ago.
    Ответlost — Ago требует Past Simple: lose — lost.

Recently: Past Simple или Present Perfect

С recently (недавно) возможны оба времени, выбор зависит от смысла. Если речь о том, что происходило в последнее время и важно сейчас, берите Present Perfect. Если о конкретном завершённом событии — Past Simple.

ВремяСмыслПример
Present Perfect«в последнее время», связь с настоящимI have recently started running. — Я недавно начал бегать (и бегаю).
Past Simpleодно событие, которое уже закончилосьI recently met an old friend. — Я недавно встретил старого друга.

Со словом lately (в последнее время) обычно используют Present Perfect: I haven’t slept well lately. — Я плохо сплю в последнее время.

В американском английском Past Simple встречается чаще и с recently, и даже с just, already, yet: I just ate. — Я только что поел. В британском варианте в таких фразах привычнее перфект: I have just eaten. В школьных заданиях ориентируйтесь на британскую норму.