English.guru
بازگشت

Present Perfect Continuous: چه مدت است این کار را می‌کنید

Have been به‌علاوهٔ -ing — زمانی دربارهٔ مدت چیزی که تا امروز کشیده شده، و تفاوتش با present perfect معمولی.

I have been waiting for an hour.

نه I wait، نه I waited و نه I have waited. این زمان یک کار دارد: کاری را که در گذشته شروع شده به لحظهٔ حال وصل کند و روی مدت تأکید بگذارد.

دام اصلی فارسی‌زبان‌ها

فارسی در این موقعیت از زمان حال استفاده می‌کند: «یک ساعت است منتظرم»، «از دوشنبه اینجا کار می‌کنم»، «سه سال است انگلیسی یاد می‌گیرم». انگلیسی نمی‌تواند:

❌ I wait for an hour. ❌ I work here since Monday. ❌ I learn English for three years. ✅ I have been waiting for an hour. ✅ I have been working here since Monday. ✅ I have been learning English for three years.

هر بار که با «از … تا الان» یا «… است که» روبه‌رو شدید، به حال ساده فکر نکنید — به این زمان (یا به present perfect) فکر کنید.

شکل

have / has been + فعل**-ing**

فاعل شکل
I, you, we, they have been working
he, she, it has been working

منفی: She hasn't been sleeping well. پرسش: How long have you been learning English? شکل‌های کوتاه: I've been · he's been · they've been

For و since

این دو واژه تقریباً همهٔ معنا را حمل می‌کنند و قاطی کردنشان خطای کلاسیک است.

  • for + بازهٔ زمانی: for an hour, for three years, for ages
  • since + نقطهٔ شروع: since Monday, since 2019, since I was ten

I've been living here for six years. · I've been living here since 2019.

هر دو جمله همان شش سال را توصیف می‌کنند. For بازه را اندازه می‌گیرد، since می‌گوید از کجا شروع شده. فارسی هم «از» را برای since دارد («از دوشنبه») و «… است» را برای for («سه سال است») — پس این دو را می‌شناسید؛ فقط فعل را عوض کنید.

در برابر present perfect معمولی

زمان‌ها نزدیک‌اند و تفاوت در تمرکز است.

تمرکز
I have painted the kitchen. نتیجه — رنگ شده، رنگ تازه
I have been painting the kitchen. فرایند — برای همین رنگی شده‌ام
  • She has written three emails. — سه نامهٔ تمام‌شده هست.
  • She has been writing emails all morning. — صبحش این‌طور گذشت.

راهنمای راحت: اگر می‌شود شمرد، معمولاً present perfect ساده می‌خورد (I've read two books). اگر زمان را اندازه می‌گیرید، نه نتیجه‌ها را می‌شمارید، continuous بگیرید (I've been reading all day).

عمل می‌تواند ادامه داشته باشد، می‌تواند تازه تمام شده باشد — هر دو عادی است. I've been running هم یعنی «هنوز می‌دوم» هم «برای همین نفس‌نفس می‌زنم».

به‌عنوان توضیح وضعیت کنونی

اینجاست که این زمان در گفتگوی زنده به کار می‌آید. چیزی الان آشکارا درست است و continuous می‌گوید چرا.

  • Your eyes are red. Have you been crying?
  • The streets are wet. It has been raining.
  • I'm exhausted — I**'ve been working** since six.

فعل‌های حالت ساده می‌مانند

همان فعل‌هایی که در زمان‌های دیگر -ing نمی‌گیرند اینجا هم نمی‌گیرند:

know, be, have (به معنای «داشتن»), like, believe, belong

  • ❌ I have been knowing her for years.
  • ✅ I have known her for years.

مهم است چون پرسش‌های «چه مدت» به‌شدت به continuous می‌کشند — و know، be و have همان فعل‌هایی‌اند که دلتان می‌خواهد با آن به کار ببرید.

  • ✅ I**'ve been** here for an hour. (نه «I've been being here»)
  • ✅ We**'ve had** this car since 2020.

در گفتگو

دیدن یک آشنای قدیمی

A: You look well. How long have you been living in Berlin?

B: Since March, so about six months. I've been learning German, but it's slow.

A: You've always been good at languages.

B: I've been saying that for years and nobody believes me.

Have been living، have been learning، have been saying بازه‌ای را اندازه می‌گیرند که تا امروز رسیده. Have always been ساده می‌ماند چون be حالت است.

خودتان را بسنجید

آزمون زیر for/since، تفاوت نتیجه و فرایند و فعل‌های حالت را تمرین می‌کند که هرگز -ing نمی‌گیرند.

خودتان را بسنجید: آزمون: Present Perfect Continuous ←