Hiện tại hoàn thành hay quá khứ đơn?
Hai thì này đều nói về việc đã xảy ra, nhưng người Anh chọn thì theo cách nhìn chứ không theo thời gian thật. Quá khứ đơn dùng khi câu chỉ rõ thời điểm đã khép lại (yesterday, last week, in 2010, two hours ago). Hiện tại hoàn thành dùng khi không nói thời điểm, hoặc khi việc đó còn liên quan tới hiện tại (already, just, yet, ever, never, since, for).
Quá khứ đơn: thời điểm đã xác định
S + V2 + yesterday / last week / in 2010 / ... ago
I met her last Friday.
Tôi gặp cô ấy thứ Sáu tuần trước.
Hiện tại hoàn thành: không nói rõ thời điểm
S + have/has + already/just/never/yet + V3
I have already met her.
Tôi đã gặp cô ấy rồi.
Hiện tại hoàn thành: việc còn kéo dài tới bây giờ
S + have/has + V3 + for / since ...
They have known each other for ten years.
Họ đã quen nhau mười năm rồi.
Câu hỏi với When luôn dùng quá khứ đơn
When + did + S + V ?
When did you buy it?
Bạn mua nó khi nào?
Người Việt hay sai chỗ này
- •'I have seen him yesterday' là sai: có 'yesterday' thì phải viết 'I saw him yesterday'.
- •Không dùng hiện tại hoàn thành sau 'When': phải là 'When did you arrive?', không phải 'When have you arrived?'.
- •Nhiều bạn dùng quá khứ đơn với 'for' hoặc 'since' khi việc vẫn còn tiếp diễn; đúng phải là 'She has worked here for two years'.
- •'ago' luôn đi với quá khứ đơn, nên 'I have finished it two hours ago' là sai.