He has been in the army for three year. 其中的has been 是一个表示状态的动词,这种动词是可以延续的。但是,如果我们说:
He has joined the army for three years. 就错了,因为join这个动词是瞬间动词,不能延续。
这类动词也可称为终止性动词、瞬间动词、点动词,表示的动作不能延续,即动作发生后立即结束。
这类动词有:
arrive/reach 到达 buy 买 close 关
post 邮寄 fall 落下 die 死
leave 离开 go 去 break 打破
lose 丢失 give 给 join 加入
receive 接收 borrow 借 move搬
hear 听到 hear from 收到来信
become 成为 begin/start 开始
finish 结束 marry 娶、嫁
come 来 happen 发生
等等等等。
He has been in the army for three years.
他在部队待了3年了。
be是个系动词,并不是“非延续性动词”
“He has been in the army for three year可以。
非延续性动词如arrive/reach 到达 buy 买 close 关
post 邮寄 fall 落下 die 死
leave 离开 go 去 break 打破
lose 丢失 give 给 join 加入
receive 接收 borrow 借 move搬
hear 听到 hear from 收到来信
become 成为 begin/start 开始
finish 结束 marry 娶、嫁
come 来 happen 发生,这类动词表示的一瞬间的动作,所以不能和一段时间连用,如for three years啊等等。
非延续性动词表示瞬间的动作,它不能持续,所以和表示一段时间的能连用状语。这句话里的动词表示状态,所以可以用。
非延续性动词就是不能延续的动词,当然就不能与表示一段时间的状语连用了。例如:可以说 He has joined the army. 但却不可以再加一个表示一段时间的状语for three years,因为join the army这个动作不可能延续three years才完成。而be in the army表示的是一个状态,是延续性的,所以He has been in the army for three year.是正确的。