5. Present Perfect чи Past Simple — головна пастка
Найважливіший розділ теми. Обидва часи українською перекладаються однаково — «я зробив», — тому різниця для нас невидима на слух. Її не можна вгадати; її треба вирішити свідомо, і для цього достатньо однієї перевірки.
Перевірка з одного питання
Період, у якому ця дія сталася, вже закрився?
Так, закрився (yesterday, last week, in 2019, an hour ago) → Past Simple. У закритий період нічого не додати.
Ні, ще триває (today, this week, this year, ever, so far, і взагалі «моє життя») → Present Perfect. До відкритого періоду ще можна додати наступну таку дію.
Зверніть увагу, що питання не про давність дії. «Я щойно надіслав» — це Perfect, хоч це було 30 секунд тому. «Я надіслав учора» — це Past Simple, хоч це було лише вчора. Вирішує не давність, а закритість періоду.
5.1 Два списки, які варто знати напам'ять
| Період ЗАКРИТИЙ → Past Simple | Період ВІДКРИТИЙ → Present Perfect |
|---|---|
| yesterday · the day before yesterday | today · this morning (якщо ранок триває) |
| last week / month / year / Friday | this week / month / year |
| two hours ago · a minute ago | so far · up to now · until now |
| in 2019 · in March · on Monday | ever · never · in my life |
| when I was a student | since 2019 · for six years |
| at six o'clock · then | recently · lately · these days |
| When…? (питання про момент) | How long…? (питання про тривалість) |
Якщо в реченні є ago, yesterday або рік — Present Perfect неможливий фізично. Це не стилістика й не відтінок — це помилка того самого ґатунку, що неузгоджений відмінок в українській.
І навпаки: якщо є since, so far або How long — Past Simple буде помилкою.
5.2 Мінімальні пари — те саме речення, різний час
5.3 Чому саме українцям це так важко
Українська ділить дієслова інакше
Українська система будується на виді: «писав» (недоконаний) проти «написав» (доконаний). Англійська система будується на охваті періоду. Ці дві сітки не збігаються — і жодне з українських дієслів не має в собі інформації про те, чи період закритий.
Тому «Я написав звіт» — це, залежно від контексту, і I wrote the report, і I have written the report. Українське речення просто не містить тієї інформації, яку англійське мусить містити. Її треба добудувати з ситуації.
А в деяких мовах перфект вільно бере «вчора» — і збиває з пантелику
Якщо ви вчили німецьку, тут особлива небезпека: німецьке Ich habe es gestern gemacht («я зробив це вчора») з перфектом — цілком нормально. Французьке Je l'ai fait hier — теж. Конструкція та сама («маю зроблене»), а обмеження — різні.
Англійська пішла окремим шляхом і зробила заборону жорсткою: назвав момент — втратив право на перфект. Тому інтуїція, перенесена з іншої європейської мови, тут не працює.
5.4 Найчастіші конкретні помилки
Є yesterday — період закритий.
When питає про момент, а Perfect моменту не називає. Ці двоє несумісні в принципі.
Найпоширеніша помилка теми. Українською теперішній час, англійською — Perfect.
since вимагає Perfect. Continuous без have been тут неможливий.
Питання про досвід за все життя → Perfect. Американський розмовний варіант Did you ever go to Berlin? теж існує, але did … been неправильно завжди.
5.5 Дві прикрі деталі, через які здається, що правило «не працює»
З just, already та yet британська норма вимагає Perfect, а американська допускає Past Simple:
BrE: I've just eaten. · Have you finished yet? · I've already told him.
AmE: I just ate. · Did you finish yet? · I already told him.
Обидва варіанти зрозуміють будь-де. Порада проста: беріть британський. Він правильний в обох нормах, а американський — лише в одній.
Період вважається закритим не за годинником, а в голові мовця. Якщо ранок для вас уже закінчився, ви скажете:
I had three calls this morning. — ранок позаду, це вже історія.
I've had three calls this morning. — ранок ще триває, я в ньому.
Обидва правильні. Це не виняток із правила, а сам його механізм: правило спирається на те, як ви бачите період, а не на календар.
У живій розмові ви не встигнете прогнати цю схему. Тому запам'ятайте один поведінковий рефлекс:
Назвали час — переходьте на Past Simple. Щойно з вашого рота вилетіло yesterday, last week, in 2019 або ago, дієслово мусить бути V2. І навпаки: якщо ви не збираєтесь називати час, а хочете сказати про стан справ — беріть have + V3.
Ця одна звичка забирає приблизно 80% помилок теми.