Hiện tại hoàn thành: Một số lưu ý

1. Phân biệt cách dùng hiện tại hoàn thành và quá khứ

Chúng ta thường dùng hiện tại hoàn thành khi nói về những sự kiện trong quá khứ cùng với kết quả ở hiện tại.
Ví dụ:
I can't come to your party because I've broken my leg.
(Tớ không thể đến bữa tiệc của cậu vì tớ bị gẫy chân.)

Tuy nhiên, chúng ta hay dùng thì quá khứ để xác định người, vật hoặc tình huống chịu trách nhiệm đối với tình huống hiện tại (vì chúng ta chỉ đang nói về nguyên nhân trong quá khứ chứ không phải kết quả ở hiện tại).
Hãy so sánh:
- Look what John’s given me! (nói về món quà)
(Hãy nhìn những gì mang John đã tặng tớ này!)
Who gave you that? (nói về hành động tặng trong quá khứ)
(Ai đã tặng anh cái đó?)
- Some fool has let the cat in. (Tên ngốc nào đó đã cho con mèo vào.)
Who let that cat in? (Ai cho con mèo vào?)
Các ví dụ khác:
Why are you crying? ~ Granny hit me. 
(Tại sao con khóc? ~ Bà đánh con.)
KHÔNG DÙNG: ...Granny has hit me.
How did you get that bruise? (Làm thế nào cậu lại có vết bầm kia?)
That’s a nice picture. Did you paint it yourself?
(Đó là một bức tranh đẹp. Cậu tự vẽ hả?)
Some people think that 'Pericles’ was not written by Shakespeare.
(Một số người nghĩ rằng Pericles không phải do Shakespeare viết.)

2. Mong đợi và thực tế

Chúng ta dùng thì quá khứ để nói một sự việc xảy ra như mong đợi hoặc không như mong đợi.
Ví dụ:
It's not as big as I expected. (Nó không lớn như tôi nghĩ.)
KHÔNG DÙNG: ...as I have expected.
You're older than I thought. (Anh già hơn tôi nghĩ.)
KHÔNG DÙNG: ...than I have thought.
But you promised...! (Nhưng cậu đã hứa...!
KHÔNG DÙNG: But you have promised...!
I knew you would help me! (Tôi biết anh sẽ giúp tôi!)
KHÔNG DÙNG: I have known...

3. today, this week...

Với các cụm từ diễn tả 'thời gian cho đến hiện tại' (như today, this week), thì hoàn thành và quá khứ đều có thể dùng. Chúng ta hay dùng hiện tại hoàn thành nếu nói về toàn bộ khoảng thời gian cho đến hiện tại còn quá khứ đơn nếu chúng ta nói về một thời điểm trong khoảng đó.
Hãy so sánh:
- I haven’t seen John this week. (cả tuần cho đến bây giờ - hiện tại hoàn thành tự nhiên hơn)
(Cả tuần nay tôi chưa gặp John.)
I saw John this week, and he said... (trước đó trong tuần - quá khứ đơn tự nhiên hơn)
(Tôi gặp John tuần này, và anh ấy nói...)
- Has Ann phoned today? (có nghĩa 'bất cứ thời điểm nào cho đến bây giờ')
(Hôm nay Ann gọi chưa?)
Did Ann phone today? (có nghĩa 'trước thời điểm mà cuộc gọi đáng lẽ phải xảy ra')
(Hôm nay Ann đã gọi chưa?)

4. Always, ever và never

Trong văn phong thân mật,không trang trọng, thì quá khứ đơn đôi khi có thể dùng với always, ever,never khi chúng đề cập đến 'thời gian cho đến bây giờ'.
Ví dụ:
I always knew I could trust you. (HAY I’ve always known ...)
(Tớ luôn biết tớ có thể tin tưởng cậu.)
Did you ever see anything like that before? (HAY Have you ever seen...?)
(Cậu đã từng thấy thứ gì như thế này trước đây chưa?)

5. Hiện tại hoàn thành với nhóm từ chỉ thời gian trong quá khứ

Ngữ pháp luôn chỉ ra rằng hiện tại hoàn thành không được dùng với các nhóm từ chỉ một khoảng thời gian đã kết thúc - chúng ta có thể nói I have seen him hay I saw him yesterday, nhưng không nói I have seen him yesterday. Thực tế, những cấu trúc này không thông dụng nhưng không phải là không thể dùng (dù người học nên tránh sử dụng nó). Chúng thường xuất hiện trong những mẩu tin vắn khi mà chỗ trống bị giới hạn và không nhất thiết phải thông báo rõ tin tức và chi tiết ở cùng một mệnh đề. Dưới đây là một số ví dụ lấy từ các bản tin phát thanh, bài báo, quảng cáo, thư và hội thoại.
Police have arrested more than 900 suspected drugs trafickers in raids throughout the country on Friday and Saturday.
(Cảnh sát đã bắt giữ hơn 900 kẻ tình nghi buôn lậu thuốc phiện bằng đường tàu xuyên quốc gia vào thứ 6 và thứ 7.)
A 24-year-old soldier has been killed in a road accident last night.
(Một binh sĩ 24 tuổi đã bị thiệt mạng trang một vụ tai nạn đường bộ tối qua.)
... indicating that the geological activity has taken place a very long time ago.
(...chỉ ra rằng hoạt động địa chất đã diễn ra một thời gian rất lâu trước đây.)
Perhaps what has helped us to win eight major awards last year alone ...
(Có thể những gì đã giúp chúng tôi chiến thắng tám giải thưởng lớn năm ngoái...)

6. Quá khứ đơn dùng cho tin tức

Gần đây, một số tờ báo Anh đã bắt đầu thường xuyên sử dụng quá khứ đơn cho những thông báo tin tức nhỏ hơn - có thể để tiết kiệm khoảng trống. Điều này cũng xảy ra trên các dòng chữ tin tức chạy trên TV. 
Ví dụ:
An unnamed Ulster businessman was shot dead by terrorists.
(Một doanh nhân người tỉnh Ulster đã bị khủng bố bắn chết...)
A woman was jailed for six months after taking a baby boy from his mother. 
(Một người phụ nữ bị giam giữ sáu tháng sau khi bắt cóc một bé trai.)

7. Anh-Mỹ

Trong Anh-Mỹ, quá khứ đơn thường được dùng để đưa tin tức.
Ví dụ:
Did you hear? Switzerland declared / has declared war on Mongolia!
(Cậu đã nghe gì chưa? Thụy Sĩ tuyên chiến với Mông cổ.)
(Anh-Anh Have you heard? Switzerland has declared war...)
Uh, honey, I lost / I’ve lost the keys 
(Cưng à, anh đã làm mất chìa khóa.)
(Anh-Anh ... I’ve lost...)
Lucy just called. 
(Lucy vừa mới gọi.)
(Anh-Anh Lucy has just called.)

Trong Anh-Mỹ, có thể dùng quá khứ đơn với trạng từ chỉ thời gian trong quá khứ không xác định như already, yet, ever và before.
Ví dụ:
Did you eat already? HAY Have you eaten...
(Cậu đã ăn chưa?)
(Anh-Anh Have you eaten already?)
I didn’t call Bobby yet HAY I haven’t called...
(Tớ chưa gọi cho Bobby.)
(Anh-Anh I haven't called...)

Tiếng Anh-Anh đang thay đổi do sự ảnh hưởng của tiếng Anh-Mỹ vì vậy một số cách dùng cũng đang trở nên thông dụng ở Anh.

8. Quy tắc xấu (1): thời gian xác định

Ngữ pháp đôi khi chỉ ra rằng hiện tại hoàn thành không dùng với những nhóm từ chỉ thời gian xác định. Điều này gây bối rối - hiện tại hoàn thành thường không dùng với các nhóm từ chỉ thời gian đã kết thúc nhưng nó thực chất rất thông dụng với những nhóm từ chỉ thời gian xác định.
Hãy so sánh:
I've lived here for exactly three years, seven months and two days. (hiện tại hoàn thành với thời gian xác định.)
(Tôi đã sống ở đây chính xác được ba năm, bảy tháng và hai ngày.)
Once upon a time a little girl lived with her mother in a lonely house in a dark forest. (quá khứ đơn với thời gian không xác định)
(Ngày xửa ngày xưa, có một cô gái nhỏ sống với mẹ trong một ngôi nhà đơn độc ở trong khu rừng tăm tối.)

9. Quy tắc xấu (2): hành động đã kết thúc

Chú ý rằng sự lựa chọn giữa hiện tại hoàn thành và quá khứ đơn không phụ thuộc vào việc chúng ta nói về hành động đã kết thúc hay chưa như một số ngữ pháp đề cập đến (dù nó có thể phụ thuộc vào việc chúng ta đang nói về khoảng thời gian đã kết thúc).
Hãy so sánh:
That cat has eaten your supper. (hành động đã kết thúc - hiện tại hoàn thành)
(Con mèo kia đã ăn bữa ăn của cậu.)
I ate the last of the eggs this morning. (hành động đã kết thúc - quá khứ đơn)
(Tôi đã ăn quả trứng cuối cùng sáng nay.)

10. Quy tắc xấu (3): hành động gần đây

Sự lựa chọn không phụ thuộc trực tiếp vào hành động hay sự kiện gần đây. Các sự kiện gần đây có thể là những 'tin tức', và chúng ta thường quan tâm hơn về kết quả hiện tại của chúng vì vậy nhiều câu hiện tại hoàn thành thực chất là nói về các sự kiện gần đây. Nhưng cũng có thể dùng hiện tại hoàn thành để nói về những điều đã xảy ra một thời gian lâu trước đó.
Hãy so sánh:
The French revolution has influenced every popular radical movement in Eroupe since 1800. (sự kiện từ 200 năm trước - hiện tại hoàn thành)
(Cách mạng Pháp đã ảnh hưởng đến từng phong trào cấp tiến phổ biến ở Châu Âu kể từ năm 1800.)
Ann phoned five minutes ago. (sự kiện rất gần đây - quá khứ đơn)
(Ann đã gọi năm phút trước.)

11. Có thể dùng cả hiện tại hoàn thành và quá khứ đơn

Sự khác biệt giữa hiện tại hoàn thành và quá khứ đơn không phải lúc nào cũng rõ ràng. Nó thường phụ thuộc vào cái chúng ta muốn 'tập trung' vào: chúng ta chủ ý nói về sự liên quan đến hiện tại của một sự kiện trong quá khứ hay về chi tiết trong quá khứ. Trong một số trường hợp, cả hiện tại hoàn thành và quá khứ đơn đề có thể dùng với sự khác biệt về nghĩa không đáng kể.
Ví dụ:
We (have) heard that you have rooms to let. 
(Tôi nghe nói anh cho thuê phòng.)
Has Mark phoned? HAY Did Mark phone
(Mark gọi chưa?)
I've given / I gave your old radio to Philip.
(Tôi cho Philip cái đài cũ của anh rồi.)