The present perfect описывает то, что произошло в прошлом, но связано с настоящим моментом. Само действие завершено, но его результат, его актуальность или период времени, к которому оно относится, всё ещё открыты.
Потеря произошла в прошлом. Результат — ключей нет — происходит прямо сейчас. Эта связь между прошлым и настоящим и есть назначение present perfect.
Как образуется
Структура — have/has + past participle.
| SUBJECT | AUXILIARY | PAST PARTICIPLE |
|---|---|---|
| I / you / we / they | have | finished |
| he / she / it | has | finished |
У правильных глаголов past participle совпадает с формой past simple: worked, played, opened. У неправильных глаголов свои формы, которые нужно заучивать по отдельности: gone, seen, written, broken, eaten.
В речи и неформальном письме подлежащее и have/has обычно сокращаются.
Отрицания
Добавьте not между have/has и past participle. Сокращённые формы haven't и hasn't — норма в повседневном английском.
Вопросы
Перенесите have/has перед подлежащим. Past participle остаётся в конце.
В wh- вопросах вопросительное слово идёт первым: What have you done? How long has he lived here? Why hasn't Anna replied?
Опыт
Используйте present perfect, чтобы говорить о том, что произошло (или не произошло) в какой-либо момент жизни человека. Точное время не важно — важен только сам факт.
Слова ever и never — самые ясные маркеры этого значения. Ever появляется в вопросах и отрицательных контекстах; never полностью заменяет not — не сочетайте их.
Недавние события с результатом в настоящем
Present perfect также описывает то, что произошло недавно, когда результат виден или актуален прямо сейчас.
Слово just сигнализирует, что действие произошло совсем недавно. Оно стоит между have/has и past participle.
Незавершённое время
Когда период времени всё ещё длится — today, this week, this month, this year — present perfect подходит лучше всего, потому что период ещё не закрыт и новые действия могут произойти.
Сравните: I read three books last month использует past simple, потому что last month — завершённый период.
Длительность с for и since
Когда ситуация началась в прошлом и всё ещё верна сейчас, present perfect работает с for (период времени) и since (точка начала).
For отвечает на вопрос how long? — берёт длительность: for two hours, for a week, for ages, for a long time.
Since отвечает на вопрос starting when? — берёт точку во времени: since Monday, since 2015, since I was a child, since breakfast.
Не путайте их: for three years правильно, а since three years — нет.
Слова-сигналы и их место
Некоторые слова появляются с present perfect так часто, что служат надёжными сигналами.
Already означает «раньше, чем ожидалось» и стоит между have/has и past participle.
Yet означает «до сих пор» и появляется в конце вопросов и отрицаний.
Just означает «совсем недавно» и стоит между have/has и past participle.
Still подчёркивает, что ожидаемое так и не произошло. Оно стоит перед haven't/hasn't.
Другие частые маркеры: ever, never, recently, so far, this week, this month, today.
Без конкретного времени в прошлом
Present perfect нельзя использовать с конкретным завершённым временем — yesterday, last week, in 2010, on Monday, two hours ago. Если время названо и закрыто, используйте past simple.
Это одна из самых частых ошибок изучающих. Правило простое: если предложение называет завершённый момент во времени, present perfect не работает.
Различие между present perfect и past simple разобрано отдельно.
Частые ошибки
Пропуск вспомогательного глагола
Неправильная форма вспомогательного глагола
Конкретное время с present perfect
Порядок слов с already/yet/just
Двойное отрицание с never
For vs since