现在完成时 vs 一般过去时
都讲过去的事,着眼点完全不同。
现完讲结果与影响;过去只讲时间点
要点
  1. 一般过去时只陈述过去的事实,与现在无关。
  2. 现在完成时强调过去的事对现在的影响。
  3. 有明确的过去时间状语时,只能用一般过去时。
  4. 问「做过了没有」用现在完成时,问「什么时候做的」用一般过去时。
  5. 标志词分两堆:already / just / ever / never / so far / up to now / in the past few years 走现在完成时;just now / the other day / yesterday / last week / in 2010 走一般过去时。
  6. have been to 去过(人已经回来)/ have gone to 去了(人还没回来)/ have been in + 地点 在某地待了多久。
  7. 与 for、since 连用时动词必须能延续,短暂动词要换成可延续的说法:buy → have,borrow → keep,die → be dead,join → be in / be a member of,come back → be back。
  8. It is / has been + 一段时间 + since + 一般过去时 是固定句型:It is three years since we left school.
例句
I have just finished reading this book.
我刚读完这本书。(强调现在读完了)
He went to the park yesterday.
他昨天去了公园。(只说过去的事)
Have you ever seen a panda?
你见过熊猫吗?(问经历)
I was born in 2010.
我出生于2010年。(有明确的过去时间)
He has gone to Shanghai, so you can't see him now.
他去上海了,所以你现在见不到他。
We have known each other since primary school.
我们从小学起就认识了。
易错提示
  • 句中有 yesterday、last…、…ago、in 2010,一律用一般过去时。
  • 现在完成时不能与明确的过去时间状语连用。
  • 「I have bought the book for two years.」是错的,buy 只是一瞬间;要说 I have had the book for two years.
  • 判断用 been to 还是 gone to,就看人回没回来:人不在眼前用 has gone to。