Ngữ pháp tiếng Anh · có trong 10 câu đề chính thức, tham khảo

Thì hiện tại hoàn thành: công thức, cách dùng và bài tập

Còn gọi là: present perfect, have + V3, hiện tại hoàn thành since for, dấu hiệu thì hiện tại hoàn thành

Thì hiện tại hoàn thành (S + have/has + V3/ed) nói về việc bắt đầu trong quá khứ và còn kéo dài đến bây giờ, hoặc việc đã xảy ra mà không nói rõ lúc nào. Đi với since + mốc thời gian, for + khoảng thời gian, already, yet, ever, never; không đi với ago, last, yesterday.

Công thức Thì hiện tại hoàn thành

4 dạng, xếp từ hay gặp nhất.

  1. 1

    Khẳng định

    S + have/has + V3/ed

    I, you, we, they và danh từ số nhiều dùng have; he, she, it và danh từ số ít dùng has. Động từ bất quy tắc lấy cột 3 (go → gone, write → written).

    • We have lived in Hà Nội since 2018.Nhà mình sống ở Hà Nội từ năm 2018 (đến giờ vẫn ở).
    • My sister has already finished her homework.Chị mình làm xong bài tập rồi.
    • The town has built three new parks this year.Năm nay thị trấn đã xây ba công viên mới.
  2. 2

    Phủ định

    S + have/has + not + V3/ed (haven't / hasn't)

    Hay đi với yet ở cuối câu, hoặc với for/since để nói đã lâu không làm gì.

    • I haven't seen my cousin for two years.Hai năm rồi mình chưa gặp đứa em họ.
    • He hasn't replied to my message yet.Cậu ấy vẫn chưa trả lời tin nhắn của mình.
  3. 3

    Nghi vấn

    Have/Has + S + V3/ed…? / Wh- + have/has + S + V3/ed…?

    Câu hỏi về kinh nghiệm hay dùng ever; hỏi khoảng thời gian dùng How long.

    • Have you ever been to Phú Quốc?Bạn đã bao giờ đến Phú Quốc chưa?
    • How long has your dad worked at this company?Bố bạn làm ở công ty này bao lâu rồi?
  4. 4

    Viết lại câu với last / ago / since

    S + last + V2 + … + time + ago = S + haven't/hasn't + V3 + for + time = It's + time + since + S + last + V2

    Dạng viết lại câu ra đều đặn trong đề chính thức. Lần cuối làm gì cách đây bao lâu nghĩa là đã bao lâu rồi chưa làm lại, nên câu viết lại ở thể phủ định.

    • I last went swimming three months ago. → I haven't gone swimming for three months.Lần cuối mình đi bơi là ba tháng trước. → Ba tháng rồi mình chưa đi bơi.
    • The last time she visited her grandma was in May. → She hasn't visited her grandma since May.Lần cuối cô ấy thăm bà là hồi tháng Năm. → Từ tháng Năm đến giờ cô ấy chưa thăm bà.
    • It's two years since we last met.Đã hai năm từ lần cuối tụi mình gặp nhau.

Khi nào dùng?

  1. 1.Việc bắt đầu trong quá khứ, còn kéo dài đến hiện tại (thường có since, for).

    • Mai has played the piano for six years.Mai chơi piano được sáu năm rồi (giờ vẫn chơi).
  2. 2.Kinh nghiệm, những việc đã từng làm hay chưa từng làm, không nói rõ lúc nào.

    • I have never tried bún chả in Huế.Mình chưa bao giờ ăn bún chả ở Huế.
    • She has visited Singapore three times.Cô ấy đã đến Singapore ba lần.
  3. 3.Việc vừa mới xảy ra, kết quả còn thấy ở hiện tại (just, already, recently).

    • Oh no, I've just broken my phone screen!Thôi xong, mình vừa làm vỡ màn hình điện thoại!
  4. 4.Kết quả tính đến bây giờ, trong khoảng thời gian chưa kết thúc (so far, up to now, this week, today).

    • Our team has won four matches so far this season.Mùa này đến giờ đội mình thắng bốn trận rồi.
  5. 5.Sau cấu trúc This is the first/second time và sau so sánh nhất.

    • This is the first time I have flown on a plane.Đây là lần đầu tiên mình đi máy bay.
    • It's the best film I have ever watched.Đó là bộ phim hay nhất mình từng xem.

Dấu hiệu nhận biết

Thấy những chữ này trong câu là nghĩ ngay tới cấu trúc này.

  • since + mốc thời gian
  • for + khoảng thời gian
  • already
  • yet
  • just
  • ever
  • never
  • recently
  • lately
  • so far
  • up to now
  • until now
  • this is the first time
  • several times

Phân biệt

Hiện tại hoàn thành và Quá khứ đơn

Quá khứ đơn dùng khi có thời gian cụ thể, việc đã xong hẳn (yesterday, last week, ago, in 2020). Hiện tại hoàn thành không nói rõ lúc nào, hoặc việc còn liên quan đến bây giờ.

  • I lost my wallet yesterday.Hôm qua mình làm mất ví (chỉ kể lại chuyện hôm qua).
  • I have lost my wallet.Mình làm mất ví rồi (giờ vẫn chưa tìm thấy).

since và for

Since đi với mốc thời gian (since 2020, since Monday, since I was ten). For đi với khoảng thời gian (for three years, for a long time).

  • He has studied French since 2021.Cậu ấy học tiếng Pháp từ năm 2021.
  • He has studied French for three years.Cậu ấy học tiếng Pháp được ba năm.

have been to và have gone to

Have been to là đã từng đến và đã về. Have gone to là đã đi và giờ vẫn đang ở đó hoặc đang trên đường.

  • Lan has been to Đà Lạt twice.Lan đã đến Đà Lạt hai lần (giờ đang ở nhà).
  • Lan has gone to Đà Lạt.Lan đi Đà Lạt rồi (giờ không có ở đây).

Bẫy đề thi

Những chỗ đề hay gài và học sinh hay sai.

  1. 1

    I have met him two days ago.

    I met him two days ago.

    Có ago là mốc quá khứ cụ thể, phải dùng quá khứ đơn. Hiện tại hoàn thành không đi với ago, last, yesterday.

  2. 2

    She has worked here since five years.

    She has worked here for five years.

    Five years là khoảng thời gian, đi với for. Since chỉ đi với mốc (since 2021).

  3. 3

    She last phoned home two weeks ago. → She has phoned home for two weeks.

    She last phoned home two weeks ago. → She hasn't phoned home for two weeks.

    Lần cuối gọi là hai tuần trước nghĩa là hai tuần nay chưa gọi lại, nên phải phủ định. Đề chính thức năm nào cũng cài phương án khẳng định này.

  4. 4

    Her English has improved since she has joined the club.

    Her English has improved since she joined the club.

    Mệnh đề sau since chỉ mốc bắt đầu trong quá khứ, nên chia quá khứ đơn. Vế chính mới dùng hiện tại hoàn thành.

  5. 5

    My parents have gone to Japan three times.

    My parents have been to Japan three times.

    Nói số lần đã từng đến (và đã về) thì dùng been to. Gone to là đi rồi, chưa về.

  6. 6

    I have saw that video on TikTok before.

    I have seen that video on TikTok before.

    Sau have/has phải là V3 (cột 3), không phải V2. See → saw → seen, go → went → gone, write → wrote → written.

Ôn thi tốt nghiệp THPT

Thì hiện tại hoàn thành trong đề thi

62/205đề thi tốt nghiệp và đề thi thử 2017–2026 có câu hỏi về cấu trúc này

Trong đề chính thức và đề tham khảo của Bộ, có 10 câu hỏi về cấu trúc này (các năm 2017, 2020–2024). Xếp thứ 12 trong các cấu trúc hay thi nhất.

Câu hỏi thật trong đề

  1. Đề chính thức 2024 · Chọn câu gần nghĩa nhất

    The last time Tim played basketball with his brother was five months ago.

    • ATim hasn't played basketball with his brother for five months.
    • BTim didn't play basketball with his brother for five months.
    • CTim has played basketball with his brother for five months.
    • DTim started playing basketball with his brother five months ago.

    Đáp án A. Lần cuối Tim chơi bóng rổ với anh là năm tháng trước, tức là năm tháng nay chưa chơi lại: hasn't played… for five months. Phương án C khẳng định thì ngược nghĩa. Phương án B dùng quá khứ đơn với for, không còn nói được ý kéo dài đến bây giờ. Phương án D nói Tim bắt đầu chơi, sai hẳn nghĩa.

  2. Đề chính thức 2022 · Chọn câu gần nghĩa nhất

    She last wrote to her pen pal 6 months ago.

    • AShe didn't write to her pen pal for 6 months.
    • BShe hasn't written to her pen pal for 6 months.
    • CShe won't write to her pen pal for 6 months.
    • DShe has written to her pen pal for 6 months.

    Đáp án B. Last wrote… 6 months ago nghĩa là sáu tháng nay chưa viết thư lại: hasn't written… for 6 months. Phương án D bỏ mất not nên thành đã viết suốt sáu tháng. Phương án A dùng quá khứ đơn, phương án C dùng tương lai, đều sai thì.

  3. Đề chính thức 2021 · Chọn câu gần nghĩa nhất

    She last phoned her close friend two months ago.

    • AShe has two months to phone her close friend.
    • BShe didn’t phone her close friend two months ago.
    • CShe has phoned her close friend for two months.
    • DShe hasn’t phoned her close friend for two months.

    Đáp án D. Câu gốc là lần cuối gọi bạn thân cách đây hai tháng, viết lại thành hasn't phoned… for two months. Phương án C khẳng định nên ngược nghĩa. Phương án B nói hai tháng trước không gọi, khác ý. Phương án A thì nghĩa hoàn toàn khác.

  4. Đề chính thức 2020 · Chọn đáp án đúng

    Her academic performance has greatly improved since she ______ her study methods.

    • Awill change
    • Bchanged
    • Cwas changing
    • Dwould change

    Đáp án B. Vế chính dùng hiện tại hoàn thành has improved, còn mệnh đề sau since chỉ mốc bắt đầu trong quá khứ nên chia quá khứ đơn: changed. Will change và would change là tương lai, không làm mốc được. Was changing là quá khứ tiếp diễn, không hợp với một mốc thay đổi.

Bài tập thì hiện tại hoàn thành

9 câu kiểu đề thi, có giải thích.

Athena

Thử xem, mình đợi em.

Câu 1Our family ______ in this flat since 2019.

Câu 2This is the first time I ______ sushi. It's delicious!

Câu 3My dad ______ to Japan for a business trip last year.

Câu 4Tìm lỗi sai: I (A) have finished my homework two hours ago, (B) so now I (C) can watch (D) my favourite show.

Câu 5Tìm lỗi sai: She (A) has worked at this hospital (B) since ten years, and she (C) still (D) loves her job.

Câu 6Chọn câu gần nghĩa nhất: “I started learning English five years ago.”

Câu 7Chọn câu gần nghĩa nhất: “I have never seen such a beautiful beach.”

Câu 8Minh moved to Đà Nẵng in 2022. Since then, he ______ two different schools and made lots of new friends. He says he loves the city.

Câu 9Plastic pollution is getting worse. Over the past ten years, the amount of plastic in the ocean ______ sharply. Scientists are now calling for stricter rules.

Hỏi đáp

Dấu hiệu nhận biết thì hiện tại hoàn thành là gì?
Hay gặp nhất là since, for, already, yet, just, ever, never, recently, so far, up to now và cấu trúc This is the first time.
Since và for khác nhau thế nào?
Since đi với mốc thời gian (since 2020, since Monday). For đi với khoảng thời gian (for two years, for a week).
Hiện tại hoàn thành khác quá khứ đơn chỗ nào?
Quá khứ đơn có thời gian cụ thể và việc đã xong (yesterday, ago, last year). Hiện tại hoàn thành không nói rõ lúc nào hoặc việc còn liên quan đến hiện tại.
Viết lại câu “S last V2… ago” thế nào?
Đổi thành S + haven't/hasn't + V3 + for + khoảng thời gian, hoặc It's + thời gian + since + S + last + V2. Nhớ phải là phủ định.

Cập nhật 11/11/2026