- GodfreyLv 77 years agoFavorite Answer
"Did you have dinner?" 跟 "Have you had dinner?" 的分別在那?
分別在第一句使用 past simple tense, 第二句使用 present perfect tense.
上述的第一句美國人用多, 他們亦會用第二句. 他們選用 tense 時, 比較鬆弛,
英國人用起上來, 注重分別 past simple 和 present perfect, 尤其以前傳統的純英式教育
In the evening, 丈夫打電話回家, 今晚很遲返. 最後返到家中, 一入門, 太太便問,"Have you had dinner?"
那時 still in the evening, 丈夫如果未吃晚餐, 她打算準備晚餐給丈夫, 雖然她和孩子吃了. Present perfect 要粘住 present.
Present perfect 陳述的動作發生在過去, 但是對現在有影響, 而這種影響往往是說話的人興趣所在. Present perfect 跨越兩個時間, 一是過去, 一是現在
In the evening, 丈夫打電話回家, 今晚很遲返. 最後返到家中已經很夜了. 太太和孩子睡了. 第二天早晨, 太太問丈夫 "Did you have dinner?", 問時已不是evening.
Many learners find it difficult to think of the present perfect as a form that can refer present time in some contexts, and past time in others. We have to consider the use of present perfect referring to present time (‘uncompleted action’ 與吃晚餐有關) separately from the use of past tense referring to past time. In that sense, present perfect links the past to the present, focusing on the effect or result at the time of speaking.
美國人比較 carefree, 無像老一輩英國人這麼咬文嚼字. 注重 English grammar運用.
2014-04-19 23:13:49 補充：
People use the present perfect, especially for recent events, with yet, already and in questions with ever.
Have you finished your report yet?
N. A. English
People use the past simple even for recent events.
Did you finish your report yet?”
~ Grammar for Business (Camb. U. Press)
2014-04-19 23:57:21 補充：
我想你是講 specific time in the past (不是特別的時間,時期)
有當然最好, 用 past simple 不一定要言及過去某一個時間
例如: I did not attend kindergarten.
- LingLv 77 years ago
If you simply want to know if somebody has had dinner yet.
Have you had dinner yet? - better
Did you have dinner at a special time (8pm last night or tonight or last Sunday etc)?
I hope you understand the difference with the above explanation.
- 7 years ago
Answer is here