luyennguphap.com
Lý thuyết

Essential Grammar in Use - Unit 18 - How long have you...? (present perfect 4): Lý Thuyết

1/4

Cấu trúc How long have you...? với thì hiện tại hoàn thành

Chúng ta dùng How long have you...? để hỏi về khoảng thời gian một hành động hoặc trạng thái đã kéo dài từ quá khứ đến hiện tại.

Ví dụ
  • Helen arrived in Ireland on Monday. Today is Thursday.
    → How long has she been in Ireland? (Cô ấy đã ở Ireland được bao lâu?)
    → She has been in Ireland since Monday / for three days.
2/4

So sánh thì hiện tại đơn (is) và hiện tại hoàn thành (has been)

Thì hiện tại đơn (is) diễn tả trạng thái ở hiện tại:

  • She is in Ireland now. (Cô ấy đang ở Ireland bây giờ.)

Thì hiện tại hoàn thành (has been) diễn tả trạng thái kéo dài từ quá khứ đến hiện tại:

  • She has been in Ireland since Monday / for three days. (Cô ấy đã ở Ireland từ thứ Hai / được ba ngày.)
3/4

Dùng Present Perfect Simple với How long

Khi hỏi về thời gian một trạng thái hoặc hành động đã kéo dài, chúng ta dùng Present Perfect Simple, không dùng thì hiện tại đơn.

Thì hiện tại đơnThì hiện tại hoàn thành
Dan and Kate are married.They have been married for five years.
✗ They are married for five years.
Are you married?How long have you been married?
✗ How long are you married?
I know Lisa.I've known her for a long time.
✗ I know her for a long time.
Do you know Lisa?How long have you known her?
✗ How long do you know her?
Vicky lives in London.How long has she lived in London?
She has lived there all her life.
I have a car.How long have you had your car?
I've had it since April.
Lưu ý

Không dùng thì hiện tại đơn với for hoặc since khi nói về khoảng thời gian kéo dài.

4/4

Dùng Present Perfect Continuous với How long

Khi hỏi về thời gian một hành động đang diễn ra đã kéo dài, chúng ta dùng Present Perfect Continuous (have been + -ing), không dùng thì hiện tại tiếp diễn.

Thì hiện tại tiếp diễnThì hiện tại hoàn thành tiếp diễn
I'm learning German.How long have you been learning German?
✗ How long are you learning German?
I've been learning German for two years.
David is watching TV.How long has he been watching TV?
He's been watching TV since 5 o'clock.
It's raining.It's been raining all day.
Lưu ý

Không dùng thì hiện tại tiếp diễn khi hỏi về khoảng thời gian hành động đã kéo dài.

Đã hết lý thuyết. Đăng nhập để làm bài tập có chấm điểm, lời giải và lưu tiến độ.

Làm bài tập