Didthetrainarrivetenmin-
utesago?Yes,itdid.No,itdidn’t.2.Ihavehadsupper.Ihaven’thadsupper.
Haveyouhadsupper?Yes,Ihave.No,Ihaven’t.(二)用法不同
壹般過去時表示過去某壹時刻或時間內發生的動作(與現在無關)。
現在完成時通常可以表示在說話之前已經完成,而後果或影響至今存在。換言之動作發生在過去,結果影響到現在。
e.g.Ihaveopenedthedoor.(Iopenedthedoorandthedoorisopennow.)
Ihaveboughtadictionary.(IboughtadictionaryandIhaveitnow.)
現在完成時還可以表示開始於過去持續到現在動作。
Hehasbeenatthisschoolfor
threeyears.I’veknownLiLeiforover
twoyears.(三)時間狀語不同壹般過去時常跟表示過去時間的副詞連用。
(1)yesterdayyesterdaymorn-
ing/evening,thedaybeforeyesterday(2)…agothreehoursago,a
fewyearsago(3)last…lastmonth,lastweek,lastnight
(4)justnow,theotherday,atthattime,in+過去時間現在完成時常和以下副詞連用:(1)just,already,yet,recent鄄
ly,lately,sofar,these+壹段時間(2)never,ever,before,once,twice,threetimes…
(3)for+壹段時間fortwoweeks,foralongtime
(4)since…since2003,since
threeyearsago,sincehearrivedinChina.(四)在現在完成時中,表示瞬間的動詞不能和for,since…表示壹段時間的狀語連用。
(1)HehascometoBeijingfor
threeyears.(誤)
HehasbeeninBeijingfor
threeyears.(正)(2)HehasleftBeijingsince
twoyearsago.(誤)
HehasbeenawayfromBei-
jingsincetwoyearsago.(正)(3)Hehasjoinedthearmysincetwoyearsago.(誤)
Hehasbeeninthearmy
sincetwoyearsago.(正)(4)Hisgrandfatherhasdiedsincemanyyearsago.(誤)
Hisgrandfatherhasbeendead
sincemanyyearsago.(正)(5)Thefilmhasbegunfor
severalminutes.(誤)
Thefilmhasbeenonfor
severalminutes.(正)