现在完成时与一般过去时的比较

当动作发生的时间并不重要或不明确,就必须一律用现在完成时
在提供动作发生的时间或地点,或者询问动作发生的时间或地点时,就必须一律用一般过去时。

比较 :
现在完成时 一般过去时
I have lived in Lyon. I lived in Lyon in 1989.
They have eaten Thai food. They ate Thai food last night.
Have you seen 'Othello'? Where did you see 'Othello'?
We have been to Ireland. When did you go to Ireland?

两个时态之间也有态度上的差异,因此在选用时态时,往往是很重要的因素。

  • "What did you do at school today?"  之所以使用一般过去时,是因为问题是在询问活动,而且上学时间已经结束了
  • "What have you done at school today?" 之所以使用现在完成时,是因为问题是在询问结果 : « 让我看看 »。提出问题的时间,上学时间仍在持续中