TênTiếngAnh.vn TênTiếngAnh.vn
Kiến thức tiếng Anh

Thì hiện tại hoàn thành: công thức, for/since, already, yet, bài tập

Bởi Ban biên tập TênTiếngAnh.vn Cập nhật 6 phút đọc
Thì hiện tại hoàn thành: công thức, for/since, already, yet, bài tập
Nội dung chính
  1. Công thức thì hiện tại hoàn thành
  2. Cách dùng thì hiện tại hoàn thành
  3. For và since trong thì hiện tại hoàn thành
  4. Already, yet, just, ever, never: vị trí và nghĩa
  5. Phân biệt been và gone
  6. Phân biệt hiện tại hoàn thành và quá khứ đơn
  7. Ghi nhớ qua ví dụ gắn với tên tiếng Anh
  8. Bài tập thì hiện tại hoàn thành có đáp án

Thì hiện tại hoàn thành (Present Perfect) dùng để nói về hành động đã xảy ra trong quá khứ nhưng còn liên quan đến hiện tại: trải nghiệm, việc vừa xong, việc kéo dài đến nay hoặc kết quả còn thấy được. Công thức: S + have/has + V3 (quá khứ phân từ), ví dụ I have finished my homework – Tôi làm xong bài tập rồi.

Với người Việt, hiện tại hoàn thành thường là thì “khó nhằn” nhất, vì tiếng Việt không phân biệt “đã làm lúc nào” với “đã làm và giờ ra sao”. Ta chỉ nói “tôi đã ăn”, còn tiếng Anh buộc bạn chọn giữa I ate và I have eaten. Hiểu được khác biệt này, bạn sẽ thấy thì hiện tại hoàn thành rất logic.

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

Dạng câu Công thức Ví dụ
Khẳng định S + have/has + V3 She has lost her keys. – Cô ấy làm mất chìa khóa rồi.
Phủ định S + have/has + not + V3 We haven’t decided yet. – Chúng tôi chưa quyết định.
Nghi vấn Yes/No Have/Has + S + V3? Have you ever tried pho? – Bạn ăn phở bao giờ chưa?
Trả lời ngắn Yes, S + have/has. / No, S + haven’t/hasn’t. Yes, I have. – Rồi.
Câu hỏi Wh- Wh- + have/has + S + V3? How long have you known Lan? – Bạn quen Lan bao lâu rồi?
  • Has dùng với he, she, it, danh từ số ít; have dùng với I, you, we, they, danh từ số nhiều.
  • Dạng rút gọn: I’ve, you’ve, we’ve, they’ve, he’s, she’s, it’s. Chú ý he’s có thể là he is hoặc he has; nếu theo sau là V3 thì đó là has (He’s gone = He has gone).
  • V3: động từ có quy tắc thêm -ed (work → worked); động từ bất quy tắc phải học thuộc (write → wrote → written, go → went → gone). Tra cứu ở bảng động từ bất quy tắc.
Công thức thì hiện tại hoàn thành
Công thức thì hiện tại hoàn thành – tóm tắt nhanh.

Cách dùng thì hiện tại hoàn thành

1. Trải nghiệm trong đời (không nói rõ khi nào)

Daniel has visited Japan three times. – Daniel đã đến Nhật ba lần.

I have never ridden a horse. – Tôi chưa bao giờ cưỡi ngựa.

Thời điểm cụ thể không quan trọng; điều quan trọng là “tính đến giờ” người đó có trải nghiệm này hay chưa.

2. Hành động bắt đầu trong quá khứ và kéo dài đến hiện tại

My parents have lived in Can Tho for 20 years. – Bố mẹ tôi sống ở Cần Thơ 20 năm nay (và vẫn đang sống).

Nếu muốn nhấn mạnh quá trình liên tục, bạn có thể dùng thì hiện tại hoàn thành tiếp diễn.

3. Hành động vừa mới xảy ra

The film has just started. – Phim vừa mới bắt đầu.

4. Hành động trong quá khứ có kết quả còn ở hiện tại

Someone has broken the window. – Ai đó đã làm vỡ cửa kính (giờ cửa vẫn vỡ).

Minh has cut his hair. – Minh cắt tóc rồi (nhìn là thấy tóc ngắn).

5. Khoảng thời gian chưa kết thúc

I have drunk three cups of coffee today. – Hôm nay tôi đã uống ba cốc cà phê (hôm nay chưa hết).

Sau cấu trúc This is the first/second time… cũng dùng hiện tại hoàn thành: This is the first time I have flown. – Đây là lần đầu tôi đi máy bay.

For và since trong thì hiện tại hoàn thành

Từ Đi với Ví dụ
for Khoảng thời gian (bao lâu) for two hours, for three weeks, for ten years, for a long time
since Mốc thời gian (từ khi nào) since 2019, since Monday, since 8 o’clock, since I was a child

Sarah has worked here for five years. = Sarah has worked here since 2021. – Sarah làm ở đây được 5 năm / từ năm 2021.

Khi since đi với một mệnh đề, mệnh đề sau since thường ở quá khứ đơn: I have known him since we were at school. – Tôi quen anh ấy từ hồi còn đi học.

Already, yet, just, ever, never: vị trí và nghĩa

Từ Nghĩa Vị trí thường gặp Ví dụ
already đã… rồi (sớm hơn mong đợi) Giữa have/has và V3, hoặc cuối câu; chủ yếu câu khẳng định I’ve already paid. – Tôi trả tiền rồi.
yet chưa (phủ định), …chưa? (nghi vấn) Cuối câu Has the bus arrived yet? – Xe buýt đến chưa?
just vừa mới Giữa have/has và V3 She has just left. – Cô ấy vừa mới đi.
ever đã từng (hỏi về trải nghiệm) Trước V3, chủ yếu câu hỏi Have you ever been to Sa Pa? – Bạn từng đến Sa Pa chưa?
never chưa bao giờ Giữa have/has và V3 I have never seen snow. – Tôi chưa từng thấy tuyết.

Các dấu hiệu khác: recently, lately (gần đây), so far, up to now, until now (cho đến nay), before (trước đây, đặt cuối câu), several times, many times.

Already, yet, just, ever, never: vị trí và nghĩa
Already, yet, just, ever, never: vị trí và nghĩa – tóm tắt nhanh.

Phân biệt been và gone

  • Kevin has gone to Hanoi. – Kevin đã đi Hà Nội (hiện vẫn đang ở đó, chưa về).
  • Kevin has been to Hanoi. – Kevin từng đến Hà Nội (đã về rồi, đây là trải nghiệm).

Câu hỏi về trải nghiệm du lịch vì vậy dùng been: Have you ever been to Phu Quoc?.

Phân biệt hiện tại hoàn thành và quá khứ đơn

Hiện tại hoàn thành Quá khứ đơn
Không nêu thời điểm cụ thể, hoặc thời gian chưa kết thúc Có thời điểm xác định, đã kết thúc
I have seen that film. – Tôi xem phim đó rồi. I saw that film last week. – Tôi xem phim đó tuần trước.
She has lived in Hue for 3 years. (vẫn đang sống) She lived in Hue for 3 years. (giờ không sống ở đó nữa)
Dấu hiệu: just, already, yet, ever, never, since, so far Dấu hiệu: yesterday, ago, last…, in 2015, when I was…

Quy tắc vàng: đã có mốc thời gian quá khứ cụ thể thì không dùng hiện tại hoàn thành. Viết I have seen him yesterday là sai. Thường khi kể chuyện, người nói mở đầu bằng hiện tại hoàn thành rồi chuyển sang quá khứ đơn để kể chi tiết: I’ve been to Da Lat. I went there last spring and stayed for a week. – Tôi từng đến Đà Lạt. Tôi đi hồi mùa xuân năm ngoái và ở một tuần. Xem thêm về thì quá khứ đơn.

Lưu ý Anh – Mỹ: trong tiếng Anh – Mỹ thân mật, người ta hay dùng quá khứ đơn với just, already, yet (Did you finish yet?, I just ate). Trong tiếng Anh – Anh và trong bài thi, hãy dùng hiện tại hoàn thành (Have you finished yet?, I’ve just eaten).

Ghi nhớ qua ví dụ gắn với tên tiếng Anh

Khi viết phần giới thiệu bản thân bằng tiếng Anh, hiện tại hoàn thành xuất hiện rất tự nhiên: My English name is Daniel. I have used this name since I started working at an international company. – Tên tiếng Anh của tôi là Daniel. Tôi dùng tên này từ khi bắt đầu làm ở công ty nước ngoài. Nếu bạn đang chọn tên giao tiếp cho mình, bài ý nghĩa tên Daniel là một gợi ý tham khảo. Sau khi nắm thì này, hãy học tiếp thì quá khứ hoàn thành – có cùng logic “have + V3” nhưng lùi về quá khứ – và ôn toàn bộ trong bài các thì trong tiếng Anh.

Bài tập thì hiện tại hoàn thành có đáp án

Bài 1. Điền for hoặc since.

  1. I have known Peter ______ ten years.
  2. They have been married ______ 2018.
  3. It hasn’t rained ______ last month.
  4. We have waited ______ two hours.

Đáp án: 1. for (khoảng thời gian); 2. since (mốc năm); 3. since (mốc tháng trước); 4. for (khoảng thời gian).

Bài 2. Chia động từ ở hiện tại hoàn thành hoặc quá khứ đơn.

  1. I (lose) ______ my wallet. Can you lend me some money?
  2. She (buy) ______ a new laptop last week.
  3. ______ you ever (eat) ______ durian?
  4. Lan (not finish) ______ her report yet.
  5. We (move) ______ to Ho Chi Minh City in 2020.
  6. This is the first time I (see) ______ such a beautiful beach.

Đáp án:

  1. have lost – kết quả còn ở hiện tại (đang không có ví).
  2. bought – có mốc last week.
  3. Have … eaten – hỏi trải nghiệm với ever.
  4. hasn’t finished – có yet, chủ ngữ số ít.
  5. moved – có mốc in 2020.
  6. have seen – sau cấu trúc This is the first time.

Câu hỏi thường gặp

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

Khẳng định: S + have/has + V3; phủ định: S + have/has + not + V3; nghi vấn: Have/Has + S + V3?. Has dùng với ngôi thứ ba số ít.

Khi nào dùng for, khi nào dùng since?

For đi với khoảng thời gian (for 3 years), since đi với mốc thời gian bắt đầu (since 2020, since Monday).

Hiện tại hoàn thành khác quá khứ đơn ở điểm nào?

Quá khứ đơn dùng khi có thời điểm xác định đã kết thúc (yesterday, last year); hiện tại hoàn thành dùng khi không nêu thời điểm hoặc hành động còn liên quan đến hiện tại.

Have been to và have gone to khác nhau thế nào?

Have been to nghĩa là đã từng đến và đã quay về; have gone to nghĩa là đã đi đến đó và hiện vẫn đang ở đó hoặc trên đường đi.

Ban biên tập TênTiếngAnh.vn

Nhóm biên tập nội dung về tên gọi, từ nguyên và cách đọc tên tiếng Anh. Mỗi bài được rà soát nghĩa gốc, nguồn gốc ngôn ngữ và cập nhật khi có góp ý từ bạn đọc. Tìm hiểu thêm