in the last/past+时间段 是现在完成时的时间状语,也就是说这个短语必须和现在完成时连用.
for+ 时间段 可以和完成时连用,也可以和表示延续的动词的过去时连用.例如:
He stayed there for 3 days.
He has learnt English for 3 years.
你的问题的中for the past 3 years不是固定的搭配,只是for+时间段的一个特例;同时in the past 3 years也一样.区别就是上面说的,你能明白吧?
for表达行为的持续,in表达时间范围,The couple have been quarreling for the past three years. The couple often quarreled in the past three years.前一句是持续吵了三年,后一句是三年里经常吵。
我们先看两个例句:1 We haven't seen each other for the past three years.
2 We didn't see each other in the past three years.意思上是差不多,都表示过去的3年,可用法却不相同。