Bỏ qua để tới nội dung chính
Xưởng Tiếng Anh
← Về xưởng
B1

Thì hiện tại hoàn thành

have/has + V3. Việc bắt đầu trong quá khứ còn liên quan tới hiện tại.

Khi dùng

Dùng khi bạn muốn nối một việc trong quá khứ với hiện tại. Có ba tình huống hay gặp: kể trải nghiệm mà không nói rõ lúc nào (I've been to Japan twice), nói một việc đã xong nhưng kết quả còn thấy được lúc này (I've lost my keys — giờ vẫn chưa tìm ra), và nói về khoảng thời gian chưa kết thúc (I've worked here for three years — bây giờ vẫn đang làm). Điểm chung là chuyện đó còn dính tới hiện tại. Khi bạn chỉ kể một việc đã khép lại kèm mốc thời gian rõ, phần lớn người nói chuyển sang quá khứ đơn.

Cách tạo

Khẳng định S + have/has (+ just/already) + V3 She has just finished the report.
Phủ định S + haven't/hasn't + V3 (+ yet) I haven't called her back yet.
Câu hỏi Have/Has + S + V3 (+ yet)? Have you eaten yet?
Cùng ý đó trong giọng Mỹ Did + S + V nguyên thể (+ yet)? — tiếng Anh Mỹ hay dùng quá khứ đơn ở chỗ tiếng Anh Anh dùng hiện tại hoàn thành; cả hai cách đều gặp Did you eat yet?

Hai ví dụ

I've lost my keys, so I can't get into the apartment.

Tôi làm mất chìa khoá rồi, nên giờ không vào nhà được.

Việc mất xảy ra trước đó, nhưng thứ đáng nói là kết quả còn nguyên lúc này — cửa vẫn chưa mở được, nên dùng thì này thay vì quá khứ đơn.

We've known each other since college.

Bọn tôi biết nhau từ hồi đại học.

Khoảng thời gian bắt đầu trong quá khứ và còn kéo dài tới bây giờ, nên since đi với hiện tại hoàn thành.

Dễ nhầm

Sai: I have seen that movie yesterday.

Nên nói: I saw that movie yesterday.

yesterday là mốc quá khứ đã khép lại, nên phần lớn trường hợp đi với quá khứ đơn. Bỏ mốc đó đi thì I've seen that movie lại hợp lý, vì lúc ấy bạn đang nói về trải nghiệm chứ không nói về hôm qua.

Sai: I am living here since 2020.

Nên nói: I have lived here since 2020.

Tiếng Việt nói 'tôi sống ở đây từ 2020' bằng thì hiện tại, nhưng với since và for tính tới bây giờ thì tiếng Anh thường dùng hiện tại hoàn thành.

Sai: She has left the office two hours ago.

Nên nói: She left the office two hours ago.

ago chỉ một thời điểm cụ thể trong quá khứ, nên nó thường kéo câu về quá khứ đơn. Muốn giữ hiện tại hoàn thành thì nói She has already left.

Luyện thử

Đọc xong rồi thì làm thử — nhớ được hay không chỉ biết khi bắt tay vào dùng.

Luyện ở bài Lỗi thường gặp →