📝 گرامر · سطح A2–B1

زمان حال کامل در انگلیسی — کامل‌ترین راهنما

فرق Present Perfect با Simple Past چیست؟ کِی باید از «have done» استفاده کنیم؟ با مثال‌های کاربردی از زندگی روزمره.

نویسنده: تیم لینگویا زمان مطالعه: ۵ دقیقه به‌روزرسانی: ۲۵ مرداد ۱۴۰۵
✅ پاسخ کوتاه

زمان حال کامل (Present Perfect) با ساختار have/has + قسمت سوم فعل ساخته می‌شود و برای کاری به کار می‌رود که در گذشته انجام شده اما زمان دقیقش مهم نیست و اثرش تا همین حالا ادامه دارد. تفاوت کلیدی‌اش با Simple Past همین است: گذشته‌ی ساده به یک لحظه‌ی بسته‌شده در گذشته اشاره می‌کند، اما حال کامل پلی است بین گذشته و اکنون. اگر در جمله زمان مشخصی مثل yesterday یا in 2019 وجود دارد، حتماً باید از Simple Past استفاده کنید.

ساختار Present Perfect

این زمان از دو بخش ساخته می‌شود: فعل کمکی have یا has، و بعد از آن قسمت سوم فعل (past participle). قسمت سوم برای فعل‌های باقاعده همان شکل -ed است، اما فعل‌های بی‌قاعده شکل خاص خودشان را دارند و باید حفظ شوند.

  • I / you / we / theyhave
  • he / she / ithas
I have finished my homework.
تکالیفم را تمام کرده‌ام. (و الان آزادم)
She has lived in Ardabil for ten years.
او ده سال است که در اردبیل زندگی می‌کند. (و هنوز هم آنجاست)

شکل منفی با haven't / hasn't ساخته می‌شود و شکل سؤالی با جابه‌جا کردن فعل کمکی به ابتدای جمله: Have you finished?Has she called?

تفاوت اصلی با گذشته ساده

این همان جایی است که بیشترین اشتباه رخ می‌دهد. تفاوت را با یک جفت جمله ببینید:

I lost my keys.
کلیدهایم را گم کردم. (شاید بعداً پیدایشان کردم — داستان تمام شده)
I have lost my keys.
کلیدهایم را گم کرده‌ام. (یعنی الان هم ندارم — مشکل ادامه دارد)

هر دو جمله از نظر دستوری درست‌اند، اما پیام متفاوتی می‌دهند. جمله‌ی دوم درباره‌ی گذشته نیست؛ درباره‌ی وضعیت الانِ گوینده است. یک آزمون ساده برای انتخاب درست:

اگر…زمان درستمثال
زمان مشخصی در جمله هستSimple PastI saw him yesterday.
زمان نامشخص است یا اصلاً گفته نمی‌شودPresent PerfectI have seen that film.
بازه‌ی زمانی هنوز تمام نشدهPresent PerfectI have studied a lot today.
بازه‌ی زمانی تمام شدهSimple PastI 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 مشخص می‌کند.

شروع آزمون تعیین سطح رایگان