زمان حال کامل (Present Perfect) با ساختار have/has + قسمت سوم فعل ساخته میشود و برای کاری به کار میرود که در گذشته انجام شده اما زمان دقیقش مهم نیست و اثرش تا همین حالا ادامه دارد. تفاوت کلیدیاش با Simple Past همین است: گذشتهی ساده به یک لحظهی بستهشده در گذشته اشاره میکند، اما حال کامل پلی است بین گذشته و اکنون. اگر در جمله زمان مشخصی مثل yesterday یا in 2019 وجود دارد، حتماً باید از Simple Past استفاده کنید.
ساختار Present Perfect
این زمان از دو بخش ساخته میشود: فعل کمکی have یا has، و بعد از آن قسمت سوم فعل (past participle). قسمت سوم برای فعلهای باقاعده همان شکل -ed است، اما فعلهای بیقاعده شکل خاص خودشان را دارند و باید حفظ شوند.
- I / you / we / they ← have
- he / she / it ← has
شکل منفی با haven't / hasn't ساخته میشود و شکل سؤالی با جابهجا کردن فعل کمکی به ابتدای جمله: Have you finished? — Has she called?
تفاوت اصلی با گذشته ساده
این همان جایی است که بیشترین اشتباه رخ میدهد. تفاوت را با یک جفت جمله ببینید:
هر دو جمله از نظر دستوری درستاند، اما پیام متفاوتی میدهند. جملهی دوم دربارهی گذشته نیست؛ دربارهی وضعیت الانِ گوینده است. یک آزمون ساده برای انتخاب درست:
| اگر… | زمان درست | مثال |
|---|---|---|
| زمان مشخصی در جمله هست | Simple Past | I saw him yesterday. |
| زمان نامشخص است یا اصلاً گفته نمیشود | Present Perfect | I have seen that film. |
| بازهی زمانی هنوز تمام نشده | Present Perfect | I have studied a lot today. |
| بازهی زمانی تمام شده | Simple Past | I studied a lot last night. |
نکتهی کلیدی: «امروز»، «این هفته» و «امسال» هنوز تمام نشدهاند، پس با Present Perfect میآیند. اما «دیروز»، «هفتهی گذشته» و «پارسال» بسته شدهاند و فقط Simple Past میگیرند.
قیدهای زمان که با این زمان میآیند
بعضی قیدها تقریباً همیشه نشانهی Present Perfect هستند. یادگیری این جدول سریعترین راه برای درست انتخاب کردن است:
| قید | معنی | جای آن در جمله | مثال |
|---|---|---|---|
| already | قبلاً، از قبل | وسط جمله | I have already eaten. |
| yet | هنوز (منفی و سؤالی) | آخر جمله | She hasn't called yet. |
| just | همین الان، تازه | وسط جمله | He has just arrived. |
| ever | تا حالا (در سؤال) | وسط جمله | Have you ever been to Tabriz? |
| never | هرگز | وسط جمله | I have never tried sushi. |
| so far | تا اینجا | آخر جمله | We have learned five tenses so far. |
تفاوت since و for
این دو کلمه هر دو با Present Perfect میآیند اما جای یکدیگر را نمیگیرند:
- since قبل از نقطهی شروع میآید — since 2019، since Monday، since I was a child
- for قبل از مدت زمان میآید — for three years، for two hours، for a long time
راه ساده برای به خاطر سپردن: اگر میتوانید آن را روی تقویم نشان دهید، since است. اگر با کرنومتر اندازه میگیرید، for است.
پنج اشتباه رایج فارسیزبانان
۱. استفاده از زمان مشخص با Present Perfect
✗ I have seen him yesterday. →
✓ I saw him yesterday.
این شایعترین خطاست. به محض اینکه yesterday وارد جمله شد، باید به Simple Past سوئیچ کنید.
۲. اشتباه گرفتن been و gone
He has gone to Tehran یعنی رفته و هنوز آنجاست. He has been to Tehran یعنی رفته و برگشته — تجربهاش را دارد. این تفاوت در فارسی وجود ندارد و برای همین زیاد اشتباه میشود.
۳. فراموش کردن قسمت سوم فعل
✗ I have went. → ✓ I have gone.
بعد از have/has همیشه قسمت سوم میآید، نه قسمت دوم.
۴. ترجمهی تحتاللفظی از فارسی
در فارسی میگوییم «دو ساله که اینجا کار میکنم» — فعل حال است. اما انگلیسی اینجا Present Perfect میخواهد: I have worked here for two years. نه I work here for two years.
۵. استفاده از has برای جمع
✗ The students has finished. → ✓ The students have finished.
سؤالهای پرتکرار
فرق «I have eaten» با «I ate» چیست؟
«I ate» به یک لحظهی تمامشده در گذشته اشاره میکند و معمولاً زمان مشخصی همراه دارد. اما «I have eaten» یعنی عمل خوردن در گذشته انجام شده و نتیجهاش تا همین الان ادامه دارد — یعنی الان سیر هستم.
آیا میتوان Present Perfect را با yesterday به کار برد؟
نه. قیدهای زمانِ تمامشده مثل yesterday، last week و in 2019 فقط با Simple Past میآیند. «I have seen him yesterday» غلط است و باید بگویید «I saw him yesterday».
تفاوت since و for چیست؟
since قبل از نقطهی شروع میآید (since 2019) و for قبل از مدت زمان (for three years). اگر روی تقویم نشاندادنی است since، اگر با کرنومتر اندازه میگیرید for.
فرق has gone با has been چیست؟
«has gone» یعنی رفته و هنوز آنجاست. «has been» یعنی رفته و برگشته و تجربهاش را دارد. این تفاوت در فارسی معادل ندارد.
Present Perfect Continuous چه فرقی دارد؟
Present Perfect روی نتیجه تمرکز دارد و Present Perfect Continuous روی مدت و استمرار. «I have read three books» نتیجه را میگوید؛ «I have been reading all day» فرایند را.
مطمئن نیستید سطحتان کجاست؟
آزمون تعیین سطح رایگان لینگویا در چند دقیقه سطح شما را از A1 تا C1 مشخص میکند.
شروع آزمون تعیین سطح رایگان