现在完成时有两种结构:一是“have/has+done”结构,表示过去某一时间以来发生的动作,一般用来强调所叙述的动作已经完成,通常表达过去发生了某种连续性的动作;二是“been+doing”结构,表示某一时间以来一直持续到现在的动作。这种结构也可以表示过去发生的细节,但不强调已经完成的意思。现在完成时是以“have/has+done”和“been+doing”两种结构来表示的,前者表示过去开始的某一时间以来发生的动作,而后者表示从过去发生的某一时刻以来一直持续到现在的动作。现在完成时可以用来表示过去发生了多次的动作,也可以表示一次性动作,例如在句中使用ever等词语,或者使用yet,just等副词。此外,还可以用现在完成时表示对一段持续多时间的动作及其影响。