9

Which preposition is correct and what is the difference in meaning if any?

I went to the gym, something I haven't done for a long time.

I went to the gym, something I haven't done in a long time.

1
  • 1
    I think they're both valid, but for is probably much more common, and in seems to me somewhat more dialectal/informal. Commented Oct 27, 2011 at 17:48

3 Answers 3

6

Both are grammatical. There's no difference in meaning, but, at least in the UK, in a long time could be a class marker.

5
  • This chart showing done in/for a while suggests the in version may be the upcoming "new kid on the block". Commented Oct 27, 2011 at 17:52
  • 5
    I don't think anyone in the US would even notice the difference, let alone make a judgment based on it.
    – user13141
    Commented Oct 27, 2011 at 17:59
  • As always, we must treat nGram charts with caution, since they are based only on the written language. Commented Oct 27, 2011 at 18:11
  • 2
    Could you elaborate on the class marker? Which class, for instance?
    – Sam
    Commented Oct 27, 2011 at 18:32
  • 2
    I have no evidence, and am prepared to be told I'm wrong, but I think it likely that in the UK 'in a long time' would be less likely to be found in working class speech than in middle class speech. Commented Oct 27, 2011 at 18:50
6

Barrie's answer is correct for the case you used as an example. However, when referring to the future, only "for" is correct.

"I won't be going to the gym again for a long time" ← valid
"I won't be going to the gym again in a long time" ← incorrect

1
  • 4
    I don't agree with your example, I think they are both OK. My example where they are not the same: I have been living here for a long time. not in a long time.
    – GEdgar
    Commented Oct 27, 2011 at 19:21
3

We have been living here for a long time. (present perfect continuous) - It began in the past, and still lasts.

They lived in New York for a long time. (past simple) - The action began and finished in the past.

They will do it in a long time. (future simple) - It will begin and be finished a long time from now, in the future.

for a long time (present perfect (continuous)) - past - present - future

for a long time (past simple) - past

in a long time - future

You must log in to answer this question.

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