Mô tả tình huống sử dụng how long have you (been)
Sim and Nina are married. They got married exactly
20 years ago, so today is their 20th wedding anniversary.
=> Họ đã cưới nhau 20 năm rồi.
=> Ngày hôm này là hiện tại, kỉ niệm ngày cưới
[but] How long have they been married? (Hiện tại tiếp diễn)
………(not How long are they married?)
………They have been married for 20 years.
………(not They are married for 20 years)
We use the present perfect to talk about something that began in the past and still continues now. Compare the present and the present perfect:
- Tom is in hospital.
[But] He’s been in hospital since Monday. (= He has been …)
………(not Tom is in hospital since Monday)
- Do you know each other well?
[But] Have you known each other for a long time?
………(not Do you know)
- She’s waiting for somebody.
[but] She’s been waiting all morning.
- Do they have a car?
[but] How long have they had their car?
I have known/had/lived [Hiện tại hoàn thành]
I have been learning / been waiting / been doing [Hiện tại hoàn thành tiếp diễn]
When we ask or say ‘how long’, the continuous is more usual:
- I’ve been learning English for six months.
- It’s been raining since lunchtime.
- Richard has been doing the same job for 20 years.
- ‘How long have you been driving?’ ‘Since I was 17.’
Some verbs (for example, know/like/believe) are not normally used in the continuous:
- How long have you known Jane? (not have you been knowing)
- I have had a pain in my stomach all day. (not I’ve been having)
You can use either the present perfect continuous or simple with live and work:
- Julia has been living / has lived here for a long time.
- How long have you been working / have you worked here?
But use the simple (I’ve lived / I’ve done etc.) with always:
- I’ve aLways lived in the country, (not always been living)
We say ‘I haven’t done something since/for …’ (present perfect simple):
- I haven’t seen Tom since Monday. (= Monday was the last time I saw him)
- Sarah hasn’t phoned for ages. (=the last time shephonedwas ages ago)