I've come here for three years 应该是不太好的,因为come是一个动作不是一个状态,可以说I came here three years ago,但是不能说过去三年一直在come(因为用的过去完成时)。相反,I have been here for htree years就完全没有问题。 M% Y3 w4 v; ]" Q4 G5 I ' N" l% \2 N" ?5 L( C8 v" n% t又比如,I have kept this for three years,这里过去完成时表示过去三年一直保留这个东西。也可以说I put this here three years ago,因为put是一个动作,而kept可以表示一个状态。