✔ 最佳答案
很多人都被 PRESENT PERFECT 與 simple past 混淆了. 有兩點要特別注意的:
(1) present perfect 雖與過去的事有關連 (即過去某時間發生, 但仍未完結, 或其果效到現在仍存在), 但是, 它其實是其中一種現在式 (PRESENT perfect), 所以直接提及它在過去某時間發生是錯誤的. (e.g. 可以說 I have finished my homework already. 但不可說 I have finished my homework 2 hours ago. 注明發生時間, 要用 simple past: I finished my homework 2 hours ago.)
(2) 有些情況, 兩種tenses都可以用的. (esp. American English -- e.g. Have you finished your work yet? Did you finish your work yet?)
請參考以下最基本的文法知識資料, 了解後才去了解其他使用 present perfect 的情況 (否則可能你會覺得更加混亂):
圖片參考:
http://web2.uvcs.uvic.ca/elc/studyzone/images/arro15e2.gif
I have seen three movies this week.
(This week has not finished yet.)
圖片參考:
http://web2.uvcs.uvic.ca/elc/studyzone/images/arro15e2.gif
Greg has lived here for 20 years.
Greg has lived here since 1978.