Present Perfect — то самое время, из-за которого английская грамматика кажется сложной. Причина проста: в русском языке аналога нет, а значит, интуиция не помогает и приходится опираться на правило.
Формула
have / has + третья форма глагола (V3)
| Лицо | Форма | Пример |
|---|---|---|
| I / you / we / they | have | I have finished my homework |
| he / she / it | has | She 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 Perfect | Past Simple | |
|---|---|---|
| Главный вопрос | что имеем сейчас? | когда это было? |
| Точное время | нельзя указывать | обязательно есть или подразумевается |
| Маркеры | just, already, ever, since | yesterday, last week, ago, in 2020 |
| Пример | I have written the letter | I 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 yesterday | I saw him yesterday |
| I have wrote a letter | I have written a letter |
| He have finished | He has finished |
| I am here since Monday | I have been here since Monday |
| I have lived here since ten years | I 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 Perfect | I have known him since 2021. — Я знаю его с 2021 года. |
| for + PP | промежуток, который длится до сейчас | Present Perfect | I have known him for three years. — Я знаю его три года (и знаю сейчас). |
| for + PS | промежуток, который закончился | Past Simple | I lived in Samara for three years. — Я жил в Самаре три года (теперь не живу). |
| ago | момент в прошлом, отсчитанный от сегодня | Past Simple | We 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
Вставьте подходящее слово или форму глагола.
- I have known Tom ___ (for / since) 2018.
Ответ
since — 2018 — точка во времени, поэтому since. - We moved to Kazan three years ___ (for / ago).
Ответ
ago — Moved — Past Simple, момент отсчитан от сегодня: ago. - She has worked here ___ (for / since) six months.
Ответ
for — Six months — промежуток, поэтому for. - Mum isn’t at home. She has ___ (been / gone) to the shop.
Ответ
gone — Мамы нет дома, она ушла и ещё не вернулась — gone. - I have ___ (been / gone) to Italy twice.
Ответ
been — Опыт: побывал и вернулся — been to. - They have been ___ (to / in) Moscow since Monday.
Ответ
in — Находятся в Москве с понедельника — been in. - Have you ever ___ (eat) sushi?
Ответ
eaten — Вопрос об опыте с ever — Present Perfect, третья форма eat — eaten. - I have never ___ (be) to Paris.
Ответ
been — Never в Present Perfect, третья форма be — been. - I ___ (see) this film last week.
Ответ
saw — Last week — точное время, значит Past Simple. - 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. В школьных заданиях ориентируйтесь на британскую норму.
