A.现在完成时表示一个过去开始的状态或动作持续到现在并可能继续持续下去,常同表示一段时间的状语连用。如sofar,uptonow,since,foralongtime等。
--Hehasworkedasateacherformanyyears.
--Uptillnow,nothinghasgonewrong.
B.现在完成时表示一个过去发生的对现在仍有影响的动作或事件。常与不确定的过去时间状语连用,如yet,just,before,recently等;也同表示频度时间状语连用,如often,ever,never,sometimes,severaltimes等;还可同包括现在时间在内的时间状语连用,如now,today,thismorning等。但不能同特定的过去时间状语连用(lastyear,in1997等)。
--IhaveneverlearnedJapanesebefore.
--Wehavebeenquitebusylately(recently)。
C.在时间或条件状语从句中,当表示将来完成时的意义时,要用现在完成时来代替将来完成时。
--We’llstartat5o’clockifithasstoppedrainingbythen.
--IshallgotoseeyouwhenIhavefinishedmyhomework.
Note:行为不能持续的瞬间动词(InstantaneousVerb),如arrive,begin,come,go,start,leave,die,join等通常不能用于这一语法意义,即该类动词在现在完成时中不能与表示一段时间的状语连用。
--Hehasjoinedthearmyforfiveyears.(误)
--Hehasbeeninthearmyforfiveyears.(正)