Ngữ pháp tiếng Anh

Present Perfect và Past Simple: Quy tắc cuối cùng cũng đọng lại

"I lived here for five years" và "I have lived here for five years" mang hai nghĩa khác nhau. Một câu hỏi duy nhất quyết định thì nào, cùng với since và for, been và gone, ngoại lệ Mỹ, và 30 câu đã sửa.

Đội ngũ FlexiLingo
24 tháng 8, 2026
16 phút đọc
Luyện ngay tại đây

Xem nó trong video thật

Mọi video trong thư viện FlexiLingo đều có phụ đề chạm được và bản ghi đầy đủ. Chạm vào từ nào cũng xem được nghĩa, nghe phát âm và giữ lại để ôn.

Mở thư viện video

1Câu hỏi duy nhất quyết định tất cả

Phần lớn cách giải thích hai thì này mở đầu bằng danh sách sáu cách dùng cho mỗi thì. Chính vì thế quy tắc chẳng bao giờ đọng lại. Có một câu hỏi duy nhất giải quyết gần như mọi trường hợp, và nó không hề nói về hành động.

Hãy hỏi: KHOẢNG THỜI GIAN đã kết thúc chưa? Không phải hành động — khoảng thời gian. Nếu đã đóng, dùng Past Simple. Nếu còn mở, dùng Present Perfect.

"Sáng nay tôi uống ba ly cà phê" — nói lúc 11 giờ sáng thì buổi sáng vẫn đang trôi, khoảng thời gian còn mở: I have drunk three coffees this morning. Nói lúc 8 giờ tối thì buổi sáng đã qua, khoảng thời gian đã đóng: I drank three coffees this morning. Cà phê đã uống xong như nhau trong cả hai câu. Thứ thay đổi là chiếc hộp chứa hành động.

Đó là lý do "I have seen him yesterday" sai trong mọi biến thể tiếng Anh. yesterday là chiếc hộp đã đóng, không gì còn diễn ra bên trong được nữa. Thì và trạng ngữ thời gian mâu thuẫn nhau.

Thử ba câu này trước khi đọc tiếp: (a) I ___ (live) in Toronto for six years — và tôi vẫn sống ở đó. (b) I ___ (live) in Toronto for six years — rồi tôi chuyển tới Vancouver. (c) Shakespeare ___ (write) 37 plays.

(a) have lived — sáu năm ấy vẫn đang chạy. (b) lived — sáu năm ấy đã hết. (c) wrote — cuộc đời Shakespeare đã khép vĩnh viễn. Câu cuối là cái bẫy kinh điển: các vở kịch vẫn còn đó, nhưng con người ấy không thể viết thêm.

Tip: Nếu bạn có thể thêm "và điều đó vẫn đúng" hay "và nó có thể xảy ra lần nữa" mà câu không nghe kỳ, gần như chắc chắn bạn cần Present Perfect.

2Vì sao tiếng mẹ đẻ khiến việc này khó

Độ khó không chia đều. Lỗi bạn mắc có thể đoán khá chính xác từ ngôn ngữ bạn đã biết, và biết cái bẫy riêng của mình còn giá trị hơn thuộc quy tắc chung.

Người nói tiếng Pháp, Đức, Ý: bạn dùng Present Perfect quá tay

passé composé của tiếng Pháp và Perfekt của tiếng Đức trông y hệt Present Perfect — j'ai mangé, ich habe gegessen — nhưng trong lời nói chúng là thì quá khứ thông thường. Dịch thẳng sẽ ra "I have eaten a sandwich yesterday". Hình thức khớp; chức năng thì không.

Người nói tiếng Nga, Ba Lan, Séc: bạn dùng quá ít

Các ngôn ngữ Slav mang sự phân biệt hoàn thành/chưa hoàn thành trong thể của động từ chứ không trong một thì riêng, nên không có cấu trúc nào để chuyển sang. Kết quả thường thấy là Past Simple ở khắp nơi: "I live here for five years" hoặc "I already ate".

Người nói tiếng Ba Tư và Ả Rập: thì hiện tại rò rỉ vào

Tiếng Ba Tư đánh dấu trạng thái kéo dài bằng thì hiện tại — nghĩa đen là "tôi sống ở đây năm năm là". Tiếng Ả Rập cũng tương tự. Điều này sinh ra "I live here since 2019" thay vì "I have lived here since 2019". Chữ since là dấu hiệu.

Người nói tiếng Trung và tiếng Việt: không đánh dấu thì

Cả hai ngôn ngữ đều không biến đổi động từ theo thời gian; ngữ cảnh và tiểu từ đảm nhiệm việc đó. Không có gì để chuyển sang, dù đúng hay sai, nên các thì phải xây từ đầu — ban đầu chậm hơn nhưng về sau ít lỗi hóa thạch hơn.

Tip: Tìm dòng của bạn ở trên và đọc lại. Phần còn lại sẽ dễ hiểu hơn khi bạn biết mình lệch theo hướng nào.

3Past Simple: chiếc hộp đã đóng

Past Simple là thì kể chuyện mặc định của tiếng Anh. Nếu bạn đang kể chuyện, liệt kê sự kiện, hay trả lời "chuyện gì đã xảy ra?", chính thì này đang làm việc.

Động từ có quy tắc thêm -ed: worked, played, decided. Động từ bất quy tắc đổi hình: go/went, see/saw, take/took. Câu hỏi và phủ định dùng did cộng dạng nguyên thể — Did you go? I didn't go — và động từ chính mất hoàn toàn dấu quá khứ. "Did you went" là lỗi người mới học phổ biến nhất trong tiếng Anh.

  • Hành động đã xong ở thời điểm quá khứ được nêu — She called me at nine
  • Hành động đã xong ở thời điểm quá khứ ngầm hiểu — I spoke to the manager (cả hai đều biết khi nào)
  • Một chuỗi sự kiện trong câu chuyện — He opened the door, looked around, and left
  • Một thói quen quá khứ đã dừng — I smoked for ten years
  • Một trạng thái quá khứ — She was a teacher before she retired

Để ý bốn trong năm trường hợp trên chẳng liên quan gì đến việc kết quả còn quan trọng hay không. Past Simple không bận tâm đến hiện tại, và chính sự thờ ơ ấy làm nên khác biệt.

Tip: Khi kể chuyện, một khi đã dựng cảnh ở quá khứ thì hãy ở lại Past Simple. Người học thường chuyển sang Present Perfect giữa chừng vì thấy điều gì đó có vẻ liên quan, và điều này làm đứt mạch kể.

4Present Perfect: chiếc hộp còn mở

Present Perfect không phải thì quá khứ. Câu này đáng đọc lại. Về ngữ pháp nó là thì hiện tại — nó mô tả tình hình hiện tại, dùng quá khứ làm bằng chứng.

have hoặc has cộng phân từ quá khứ: I have finished, she has gone, they have never tried. Phân từ là dạng thứ ba: go/went/gone, see/saw/seen, do/did/done. Dạng rút gọn là bình thường trong lời nói — I've, she's, they've — và người học né tránh chúng nghe trang trọng hơn hẳn ý họ muốn.

"I have lost my keys" là câu nói về bây giờ: chìa khóa đang mất. "I lost my keys" là câu nói về lúc đó: chuyện đã xảy ra, và có thể còn đúng hoặc không. Vì vậy câu trả lời cho "Chìa khóa đâu?" là dạng perfect, còn cho "Hôm qua có chuyện gì?" là dạng simple.

Một hình dung hữu ích: Present Perfect vẽ một đường từ điểm nào đó trong quá khứ kéo tới đúng lúc bạn đang nói. Past Simple đặt một chấm ở đâu đó phía sau, rời rạc.

Đừng bao giờ dùng Present Perfect với trạng ngữ thời gian đã kết thúc. Không phải "I have finished it yesterday". Không phải "She has called me last week". Không phải "We have met in 2019". Nếu xuất hiện từ chỉ thời gian đã đóng, câu bắt buộc phải là Past Simple. Không phương ngữ tiếng Anh nào chấp nhận khác đi.

5Những từ chỉ thời gian tiết lộ đáp án

Bạn thường có thể quyết định thì mà chẳng cần nghĩ đến nghĩa, chỉ cần tìm một từ. Hai danh sách này đáng học thuộc vì chúng bao phủ phần lớn những gì bạn thực sự nói.

  • yesterday · last night · last week · last year
  • in 2019 · in July · on Monday · at 3pm
  • ago — two days ago, a long time ago
  • when I was young · then · after that
  • Any question starting with When — When did you arrive? never When have you arrived?
  • since — since 2019, since I was a child
  • for — for six years (when the period continues)
  • already · yet · still · just
  • ever · never — Have you ever been to Japan?
  • so far · up to now · recently · lately
  • this week / this month / this year — while they are still running
  • It's the first time… · It's the best… I've ever…

Hai trong số đó mơ hồ và cần chú ý. for dùng được với cả hai thì nhưng nghĩa khác nhau, xem phần sau. Và this morning / today đảo chiều tùy lúc bạn nói, như đã thấy ở phần một.

Tip: when và Have you ever không thể ở cùng một câu. Nếu bắt gặp mình đang bắt đầu "When have you…", hãy dừng lại và làm lại với did.

6since và for: cặp đôi ai cũng nhầm

Hai từ này không thay thế cho nhau, và khác biệt mang tính máy móc chứ không phải cảm nhận — điều đó khiến nó thành một trong những cái được dễ nhất ở mảng này.

since = điểm bắt đầu

Dùng since với thời điểm bắt đầu: since 2019, since Monday, since I moved here, since breakfast. Nó trả lời "bắt đầu từ khi?". since gần như luôn kéo theo Present Perfect — "I have known her since university".

for = độ dài

Dùng for với khoảng thời lượng: for six years, for two hours, for ages, for a long time. Nó trả lời "bao lâu?". Khác với since, for đi được với cả hai thì — và chính thì mới cho người nghe biết chuyện đã kết thúc hay chưa.

Hãy so sánh kỹ: "I worked at Google for five years" nghĩa là giờ tôi không còn làm ở đó. "I have worked at Google for five years" nghĩa là tôi vẫn đang làm. Cùng từ ngữ, cùng thời lượng, tình trạng việc làm trái ngược. Nếu sai câu này trong buổi phỏng vấn, bạn sẽ bị hiểu lầm theo cách rất đáng kể.

  • I have lived here since 2020 — correct, starting point
  • I have lived here for six years — correct, duration, still living here
  • I have lived here since six years — wrong, mixes the two
  • I live here since 2020 — wrong, needs Present Perfect
  • I lived here for six years — correct, but I have moved out

Tip: Cách thử nhanh cho since: có thay được bằng "kể từ lúc mà" không? Nếu có thì since đúng. Nếu bạn định nói "trong khoảng thời gian", bạn cần for.

7been và gone không phải cùng một từ

Cả hai đều là phân từ gắn với go, và đổi chỗ chúng làm thay đổi ai đang có mặt trong phòng. Một điểm nhỏ nhưng cái giá ngượng ngùng cao bất thường.

has been to = đã đi và đã về

"She has been to Paris" nghĩa là cô ấy từng tới đó và giờ đang ở đây. Nó mô tả trải nghiệm. Đây là dạng bạn cần trong gần như mọi cuộc trò chuyện về du lịch: Have you been to Canada? I've been to three countries this year.

has gone to = đã đi và vẫn đang ở đó

"She has gone to Paris" nghĩa là ngay lúc này cô ấy đang ở Paris, hoặc đang trên đường. Nó mô tả vị trí. Nói câu này về một người đang đứng cạnh bạn là lỗi thật sự, không phải chuyện văn phong.

Nếu người đó đang có mặt, bạn không thể dùng has gone. "Where's Tom?" "He's gone to the bank" — đúng, anh ấy đang vắng. Nhưng nếu Tom đứng cạnh bạn thì "He's been to the bank" — đã đi và đã về.

  • I've been to that restaurant — I know it, I'm not there now
  • I've gone to that restaurant — you would only say this from inside it, which is odd
  • Have you ever been to India? — the standard experience question
  • Have you ever gone to India? — grammatical but sounds wrong to native ears

8Bốn việc Present Perfect thực sự làm

Một khi đã chấp nhận quy tắc chiếc hộp mở, danh sách cách dùng truyền thống thôi trông như bốn quy tắc riêng biệt và trở thành bốn tình huống mà chiếc hộp tình cờ còn mở.

1. Trải nghiệm đời người — chiếc hộp là cả cuộc đời bạn

Have you ever eaten sushi? I've never broken a bone. She's read all of Dickens. Cuộc đời bạn vẫn đang chạy, nên mọi thứ bên trong vẫn còn mở. Ngay khi bạn nêu một khoảng đã đóng, nó lật ngược: "Did you eat sushi in Tokyo?"

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

I've lost my wallet — nó đang mất. She's broken her leg — chân đang bó bột. They've finished the report — nó đã sẵn sàng. Hành động đã xong; hệ quả mới là điều đáng nói.

3. Việc bắt đầu trong quá khứ và còn tiếp diễn

I've worked here for three years. We've known each other since school. It's rained all week. Đây là cách dùng mà phần lớn ngôn ngữ xử lý bằng thì hiện tại, nên nó sinh ra nhiều lỗi giao thoa nhất.

4. Tin tức mới, nhất là với just

I've just seen your message. The government has announced new rules. Tiêu đề và thông báo sống ở đây — cho tới khi gắn thêm mốc thời gian, lúc đó chúng thành Past Simple: "The government announced the rules on Tuesday".

Tip: Báo chí minh họa mẫu này liên tục. Tiêu đề dùng Present Perfect cho bản thân tin tức, rồi đoạn đầu chuyển sang Past Simple ngay khi thêm khi nào và ở đâu. Đọc bất kỳ trang tin nào với ý này trong đầu, chỉ hai bài là thấy.

9Ngoại lệ Mỹ bạn nên biết

Nếu bạn từng bị một giáo viên sửa rồi lại nghe người bản ngữ nói ngược lại, phần này có lẽ là lý do.

Trong tiếng Anh Mỹ, Past Simple thường được dùng ở chỗ tiếng Anh Anh đòi Present Perfect, cụ thể với already, yet và just. "Did you eat yet?" và "I already told you" hoàn toàn bình thường ở Mỹ. Ở Anh chúng sẽ là "Have you eaten yet?" và "I've already told you".

Ngoại lệ này hẹp. Nó áp dụng cho already, yet, just, và ở mức thấp hơn cho câu tin tức mới. Nó không mở rộng sang since, for, ever, never, hay quy tắc thời gian đã kết thúc. "I have seen him yesterday" sai ở Boston đúng như sai ở Manchester.

Với các kỳ thi — IELTS, CELPIP, TOEFL, Cambridge — hãy dùng mẫu Anh. Nó không bao giờ bị chấm sai, trong khi biến thể Mỹ đôi khi bị, tùy giám khảo. Trong hội thoại thì dùng kiểu nào cũng được; hãy theo người đang nói chuyện với bạn.

Tip: Biết điều này chủ yếu để nghe "Did you finish yet?" trong phim Mỹ mà không nghi ngờ một quy tắc bạn đã học đúng.

10Ba mươi câu đã sửa

Che phần bên phải và sửa từng câu trước khi nhìn. Chúng lấy từ những lỗi xuất hiện nhiều nhất trong bài viết thật của người học, nên điểm thấp ở đây thực sự là thông tin hữu ích.

  • I have seen him yesterday → I saw him yesterday
  • I live in Berlin since 2019 → I have lived in Berlin since 2019
  • When have you arrived? → When did you arrive?
  • She has called me last night → She called me last night
  • I am here since two hours → I have been here for two hours
  • Did you ever go to Japan? → Have you ever been to Japan?
  • I have lost my keys yesterday → I lost my keys yesterday
  • He has gone to the shop, he's back now → He has been to the shop
  • I know her since 2015 → I have known her since 2015
  • We have met in 2019 → We met in 2019
  • I have finished it two hours ago → I finished it two hours ago
  • How long do you work here? → How long have you worked here?
  • I didn't see that film yet → I haven't seen that film yet
  • She is a teacher for ten years → She has been a teacher for ten years
  • I have went to the bank → I have gone to the bank
  • Shakespeare has written 37 plays → Shakespeare wrote 37 plays
  • I have lived here since six years → I have lived here for six years
  • Have you finished your work last week? → Did you finish your work last week?
  • I never ate octopus → I have never eaten octopus
  • This is the first time I go to Paris → This is the first time I have been to Paris
  • I have been working here since three years → I have been working here for three years
  • My father has died in 2010 → My father died in 2010
  • I have already sent it last Monday → I already sent it last Monday
  • It's raining since this morning → It has been raining since this morning
  • How many times did you visit Canada? (so far, in your life) → How many times have you visited Canada?
  • The train has left ten minutes ago → The train left ten minutes ago
  • I have studied English when I was a child → I studied English when I was a child
  • She has wrote me a letter → She has written me a letter
  • We are married for twenty years → We have been married for twenty years
  • Have you seen the news this morning? (said at 9pm) → Did you see the news this morning?

Tip: Câu cuối là bài kiểm tra sắc nhất trong danh sách. Không có gì sai trong câu đó ngoài chiếc đồng hồ trên tường.

11Nơi người học vẫn trượt dù đã thuộc quy tắc

Bốn lỗi này sống rất lâu sau khi quy tắc đã được hiểu, bởi không lỗi nào bắt nguồn từ việc không biết quy tắc.

Chính phân từ bị sai. "I have went", "she has wrote", "they have took" — chọn thì thì đúng mà dạng động từ thì không. Present Perfect cần dạng thứ ba, và động từ bất quy tắc được học theo cặp nhiều hơn hẳn theo bộ ba. Nếu đây là bạn, cách chữa là luyện phân từ chứ không phải luyện thì.

Bạn ngập ngừng giữa câu. Người nói thường bắt đầu đúng rồi sửa ngược lại: "I have… I lived here for six years." Dưới áp lực thời gian, tiếng mẹ đẻ thắng. Đây là vấn đề độ trôi chảy khoác áo ngữ pháp, và nó đáp lại việc luyện nói chứ không phải học thêm.

Câu dài làm mất mạch. Quy tắc được áp dụng đúng trong câu năm chữ và bị bỏ rơi trong câu hai mươi chữ, vì đến cuối bạn không còn theo dõi khung thời gian đã mở. Hãy để ý điều này nhất là trong bài viết.

Không ai sửa bạn. Cả hai thì đều tạo ra câu dễ hiểu, nên người nghe hiểu rồi đi tiếp. Lỗi không bao giờ bị phạt nên không bao giờ bị nhận ra — đúng cơ chế giữ cho những từ bạn giả sống nhiều năm.

Nếu bạn mắc lỗi một, hãy luyện phân từ. Nếu mắc lỗi hai, hãy nói nhiều hơn. Đọc lại quy tắc sẽ không chữa được lỗi nào, và đây là lý do phổ biến nhất khiến người học thấy bế tắc ở chủ đề này dù đã hiểu.

12Sửa bằng nội dung thật, không phải thêm quy tắc

Bạn đã đọc quy tắc rồi. Nếu đọc quy tắc là đủ thì mọi chuyện đã kết thúc ở đây — nhưng có lẽ bạn từng đọc một phiên bản của nó, và bạn vẫn đang ở đây.

Thứ thực sự chuyển kiến thức thành thói quen là nghe dạng đúng trong một tình huống bạn nhận ra, đủ nhiều lần để nó đến trước dạng sai. Một người bản ngữ nói "I've been here since eight" khi chờ chuyến tàu trễ đã lưu thì cùng với tình huống. Lần sau khi chính bạn phải chờ, dạng đúng sẽ đến trước.

Đó cũng là lý do bài tập ngữ pháp rời rạc chuyển sang lời nói rất kém. Bài điền khuyết dạy bạn chọn giữa hai phương án đang bày trước mắt với thời gian vô hạn. Hội thoại không cho bạn thứ nào cả. Kỹ năng bạn cần là truy xuất dưới áp lực, và chỉ đầu vào cộng đầu ra mới xây được nó.

  • Xem hoặc nghe thứ bạn vốn đã định xem, nhưng bằng tiếng Anh
  • Để ý mọi have/has cộng phân từ — bản tin dày đặc chúng
  • Gặp một cái, hãy hỏi vì sao nó không phải Past Simple; câu trả lời luôn là chiếc hộp còn mở
  • Lưu cả câu, không phải quy tắc, và tuyệt đối không phải động từ đứng một mình
  • Ôn tới khi bạn tự nói được cả câu, rồi mượn khuôn của nó cho câu của mình

Tip: FlexiLingo phủ phụ đề tương tác lên YouTube và podcast, nên bạn có thể bấm vào bất kỳ từ nào để xem nghĩa và trình độ CEFR rồi lưu nó cùng nguyên câu chứa nó — đúng đơn vị mà phần này lập luận là bạn cần.

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

Quy tắc đơn giản nhất giữa Present Perfect và Past Simple là gì?

Hãy hỏi khoảng thời gian đã kết thúc chưa, chứ không phải hành động. Nếu khoảng đã đóng — yesterday, last week, in 2019 — dùng Past Simple. Nếu còn mở — today, this year, cả đời tôi, since 2020 — dùng Present Perfect. "I drank three coffees this morning" đúng lúc 8 giờ tối và sai lúc 11 giờ sáng, vì thứ duy nhất thay đổi là buổi sáng đã qua hay chưa.

Vì sao "I have seen him yesterday" sai?

Vì yesterday là khoảng đã đóng còn Present Perfect đòi khoảng còn mở, nên thì và trạng ngữ thời gian mâu thuẫn nhau. Đây không phải sở thích Anh hay Mỹ; nó sai ở mọi nơi. Hoặc bỏ từ chỉ thời gian — "I have seen him" — hoặc đổi thì — "I saw him yesterday".

since và for khác nhau thế nào?

since đánh dấu điểm bắt đầu (since 2019, since Monday, since I moved here) còn for đánh dấu thời lượng (for six years, for two hours). since gần như luôn đi với Present Perfect. for đi với cả hai, và chính thì mang nghĩa: "I worked there for five years" nghĩa là bạn đã nghỉ, còn "I have worked there for five years" nghĩa là bạn vẫn đang làm.

Dùng "has been to" hay "has gone to"?

has been to nghĩa là người đó đã đi và đã về, mô tả trải nghiệm: "She has been to Paris three times". has gone to nghĩa là họ vẫn đang ở đó: "She has gone to Paris" — họ đang vắng mặt. Nếu người đó đang đứng trước mặt bạn, has gone là không thể.

Người Mỹ có thật sự nói "Did you eat yet?" không?

Có, và đó là tiếng Anh Mỹ chuẩn. Cách dùng Mỹ cho phép Past Simple với already, yet và just ở chỗ tiếng Anh Anh đòi Present Perfect. Ngoại lệ dừng ở đó — nó không bao gồm since, for, ever, never, hay quy tắc thời gian đã kết thúc. Với IELTS, CELPIP, TOEFL và Cambridge, hãy dùng mẫu Anh, vốn không bao giờ bị chấm sai.

Tôi hiểu quy tắc nhưng vẫn sai. Giờ phải làm gì?

Hãy xác định bạn thực sự mắc lỗi nào. Nếu bạn nói "I have went", vấn đề là phân từ bất quy tắc chứ không phải thì. Nếu bạn tự sửa giữa câu, vấn đề là độ trôi chảy dưới áp lực. Nếu chỉ trượt ở câu dài, bạn đang mất dấu khung thời gian. Không lỗi nào trong ba được chữa bằng cách đọc lại quy tắc — chúng cần lần lượt là luyện phân từ, luyện nói, và soát lại bài viết.

24 tháng 8, 2026
FL
Đội ngũ FlexiLingo
Chúng tôi xây những công cụ biến nội dung thật — YouTube, podcast, bài viết — thành bài học ngôn ngữ với phụ đề tương tác, tra từ tức thì và ôn tập ngắt quãng.

Đừng chọn thì từ tờ quy tắc nữa

Mọi video trong thư viện FlexiLingo đều có phụ đề chạm được và bản ghi đầy đủ. Chạm vào từ nào cũng xem được nghĩa, nghe phát âm và giữ lại để ôn.