Công thức
- Khẳng định: S + have/has been + V-ing
- Phủ định: S + have/has not been + V-ing
- Nghi vấn: Have/Has + S + been + V-ing?
Cách dùng
- Diễn tả hành động bắt đầu trong quá khứ, kéo dài đến hiện tại và có thể còn tiếp tục: I have been learning Japanese for two years (Tôi đã học tiếng Nhật được hai năm).
- Nhấn mạnh quá trình và độ dài, khác hiện tại hoàn thành vốn nhấn kết quả: I have painted the wall (đã sơn xong) so với I have been painting the wall (còn đang sơn dở).
- Giải thích nguyên nhân của một trạng thái hiện tại: Her eyes are red because she has been crying (Mắt cô ấy đỏ vì cô ấy vừa khóc).
- Dùng với how long để hỏi về khoảng thời gian kéo dài: How long have you been waiting? (Bạn đã chờ bao lâu rồi?).
Dấu hiệu nhận biết
- for + khoảng thời gian, since + mốc thời gian
- all morning, all day, all week
- lately, recently, how long
Lỗi thường gặp
- Dùng thì này khi nêu số lần hoặc kết quả: sai I have been reading this book three times, đúng I have read this book three times.
- Dùng với động từ trạng thái như know, like, own, believe; các động từ này chia ở hiện tại hoàn thành.
- Nhầm since + mốc với for + khoảng thời gian: sai since two hours, đúng for two hours.
- Chia hiện tại tiếp diễn dù có for / since: sai I am waiting for two hours, đúng I have been waiting for two hours.