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
    I think they're both valid, but for is probably much more common, and in seems to me somewhat more dialectal/informal. – FumbleFingers Oct 27 '11 at 17:48

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

  • 3
    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 Oct 27 '11 at 19:21

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

  • This chart showing done in/for a while suggests the in version may be the upcoming "new kid on the block". – FumbleFingers Oct 27 '11 at 17:52
  • 4
    I don't think anyone in the US would even notice the difference, let alone make a judgment based on it. – user13141 Oct 27 '11 at 17:59
  • As always, we must treat nGram charts with caution, since they are based only on the written language. – Barrie England Oct 27 '11 at 18:11
  • Could you elaborate on the class marker? Which class, for instance? – Sam Oct 27 '11 at 18:32
  • 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. – Barrie England Oct 27 '11 at 18:50

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

protected by tchrist Dec 28 '16 at 15:01

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.