2

Is it correct that just like present perfect we do not usually use time duration as in "for two years" with past perfect tense, apart from certain fixed sentences as in lived, owned, known, etc.

EG: i had known him for ten years before he died.For this particular sentence I used "for ten years" and It is correct to use "for ten years" with this past perfect tense but generally i reckon we should not use time duration as in"for ten years with past perfect tense. Eg "I had learned to swim for ten years" here "for ten years" is confusing as it could either mean "I had been learning to swim for ten years" or "I had learned to swim ten years ago" so its better to use "for ten years" with past progressive tense as in "He had been learning to swim for ten years before he left for UK" 

6
  • 1
    Could you add an example? It would really help clear up what you mean. (By this I mean an example of a correct sentence and and incorrect sentence by your terms).
    – Buzzyy
    Commented Feb 21, 2022 at 14:29
  • @Buzzy i had known him for ten years before he died.For this particular sentence I used "for ten years" and It is correct to use "for ten years" with this past perfect tense but generally i reckon we should not use time duration as in"for ten years with past perfect tense. Eg "I had learned to swim for ten years" here "for ten years" is confusing as it could either mean "I had been learning to swim for ten years" or "I had learned to swim ten years ago" so its better to use "for ten years" with past progressive tense as in "He had been learning to swim for ten years before he left for UK" Commented Feb 21, 2022 at 14:52
  • @BilalZafar - Your comment's example makes everything much clearer. Can you work your comment back into the question?
    – EllieK
    Commented Feb 21, 2022 at 15:56
  • 1
    @EllieK yes sure. i have addes that comment's example back into the question now. Commented Feb 21, 2022 at 16:56
  • 1
    It's not a perfect match to your question but the answer does provide several good examples of ago vs for. For more examples search ELL for years ago vs for years. Does this answer your question? Does "That bridge has been repaired for the past ten years." mean the repairs were completed 10 years ago?
    – EllieK
    Commented Feb 22, 2022 at 13:38

2 Answers 2

1

The present perfect in English is properly used in circumstances that seldom require time markers.

I have cleaned the kitchen

may indicate recency or emphasis on completion.

I have cleaned the kitchen an hour ago

is not idiomatic because it is redundant. There is no need to imply recency or emphasize completion with the specification of “an hour ago.” We say

I cleaned the kitchen an hour ago.

This is sometimes incorrectly summarized as “never use time markers with the present tense.” That rule is nonsense.

I have studied English for three years

is perfectly grammatical. The present perfect is used to imply that the studying started about three years before the statement was made. The studying was in the recent past and thus justifies the use of the present perfect. Compare to

I studied Spanish for four semesters, but that was forty years ago.

I admit that the issue of when time markers are grammatically used with the present perfect in English is complex, but the issue does not arise with the past perfect.

0

I think you're searching for a special rule that doesn't exist. In any sentence, the tense has to agree with the time period you're describing.

For 10 years puts a time boundary around an activity or process. It can apply to the past, to the present or to the future. The second part of the sentence clarifies that (or makes it ambiguous). The phrase can also transform a one-time event into a recurring event that happens continually over a period of time.

For example, For 10 years I learned to swim means you spent 10 years learning how to swim.

When you say, For 10 years, he got the car fixed, it turns the one-time event of fixing the car into an event that repeated over and over during a 10-year period.

Here, the second part of the sentence clarifies the time period and the tense is adjusted accordingly:

For 10 weeks, I studied really hard. (past)

For 10 weeks, I have studied really hard. (past including the present)

For 10 weeks, I'll be studying really hard. (future)

"Last" and "next" can be used to help clarify how recent the time period is:

For the last 10 weeks.... (past or (past + present))

For the next 10 weeks.... (future)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .