Since用来说明动作起始时间,for用来说明动作延续时间长度。
Ihavelivedhereformorethantwentyyears.
IhavelivedheresinceIwasborn..
Myaunthasworkedinaclinicsince1949.
Somenewoilfieldshavebeenopenedupsince1976.
IhaveknownXiaoLisinceshewasalittlegirl.
MybrotherhasbeenintheYouthLeaguefortwoyears.
Ihavenotheardfrommyuncleforalongtime.
注意:并非有for作为时间状语的句子都用现在完成时。
Iworkedhereformorethantwentyyears.
Ihaveworkedhereformanyyears.
小窍门:当现在完成时+一段时间,这一结构中,我们用下面的公式转化,很容易就能排除非延续动词在完成时中的误使。
1)(对)TomhasstudiedRussianforthreeyears.
=TombegantostudyRussianthreeyearsago,andisstillstudyingitnow.
2)(错)Harryhasgotmarriedforsixyears.
=Harrybegantogetmarriedsixyearsago,andisstillgettingmarriednow.
显然,第二句不对,它应改为Harrygotmarriedsixyearsago.或Harryhasbeenmarriedforsixyears.