I am sorry about dragging this question out.
1) I have lived in the USA for two years.
2) I had lived in the USA for two years.
3) I lived in the USA last year.
I know what difference there is between #1 and #2 and I think present and past perfect tense go well with for because actions in the tenses persist for a while, but past verbs go well with last year because actions in the past tense finish at a point. However, we can see past verbs with for, for example, 4) I lived in the USA for two years and I think #2 and #4 are acceptable and have the same meaning. What do you teachers think about it?
P.S I know that had p.p has two possible meanings: one is a past form of have p.p, and the other is the more past than the past.
For the benefit of those who may not know the difference between #1 and #2, I will start there.
#1 -- have lived or have + past participle -- is in the present perfect tense. It means the action started in the past and continues in the present. So the sentence -- I have lived in the US for two years -- means you began to live in the US two years ago and continue to live there now.
#2 -- had lived or had + past participle -- is in the past perfect tense. It means the action took place in the past and was completed before some other action took place. Your sentence -- I had lived in the US for two years -- is incomplete because it does not tell us about the second event. It needs to be completed --> I had lived in the US for two years when ... or I had lived in the US for two years before I ...
#3 -- lived -- is in the simple past tense. It does not have the same meaning as #2, with or without the preposition for. The sentence tells us nothing about the present. It tells us only about last year. We don't inow whether you still live in the US, or whether you lived in the US three years ago.
Your question implies that the choice of the preposition for is somehow related to the verb tense. It is not. The selection of the preposition is determined by the noun phrase that follows the preposition. For is a preposition that can be used to indicate duration. Because two years is a noun phrase that describes a length of time (or duration), for is the appropriate choice.
On the other hand, last year does not indicate a length of time. It denotes a point in time. As Peter points out, the sentence can be considered vague because the point in time is not finite, but has some duration. Your sentence does not tell us when during the last year you lived in the US -- March? April? -- only that at some point last year you lived in the US.
In #3, the preposition for is not needed because the phrase last year does not indicate duration and is not, in fact, a noun phrase (remember, prepositions are used with noun phrases). Rather, it is an adverbial phrase that directly modifies lived.
I hope this helps.
|link comment||edited Oct 08 '12 at 14:53 Jeff Pribyl Grammarly Fellow|
Hero of the day
Person gave the most answers!