10

What's the difference between using either for or in in the following examples?

Bill hasn't taken a vacation for/in two years.

Jack hasn't been to school for/in four days.

I hadn't seen Mary for/in three weeks when she finally decided to show up.

NgramAmEng vs. Ngram BrEng

IN

Expressing a period of time during which an event takes place or a situation remains the case:

they met in 1885

at one o’clock in the morning

I hadn’t seen him in years

ODO

FOR

Indicating the length of (a period of time):

he was in prison for 12 years

I haven’t seen him for some time

ODO

8
  • 1
    No difference if the expression with in is understood to mean in ( the last, those, - or whatever period in time you are referring to) two years.
    – user66974
    Commented Dec 7, 2015 at 15:30
  • 2
    I don't think there's any semantic difference, and in most context they're interchangeable (though I'm sure for is far more common). But for reasons that escape me, I wouldn't be likely to use in in the following exchange: "Have you ever been a smoker?", "Yes, but not for years". Commented Dec 7, 2015 at 15:33
  • 1
    (apparently neither are other people likely to use in there.) Commented Dec 7, 2015 at 15:38
  • 2
    You could also ask: "Why can't we say I have been away in five days?
    – Mari-Lou A
    Commented Dec 7, 2015 at 16:57
  • @Mari-Lou A We've had quite enough of negative-polarity items with the weather, thank you. / '... been away for 3 years' changes meaning between 'He hasn't been away for 3 years' and 'He's been away for 3 years'. Commented Dec 7, 2015 at 17:03

3 Answers 3

7
+50

What's the difference between using either for or in in the following examples?

  • Bill hasn't taken a vacation for/in two years.
  • Jack hasn't been to school for/in four days.
  • I hadn't seen Mary for/in three weeks when she finally decided to show up.

There is no difference in grammaticality. All 3 sentences are grammatical, with either for or in.

There is no difference in meaning. All 3 sentences describe the same situation, with either for or in.

However, there is one difference in syntactic affordances. In with an indefinite durative temporal phrase (in weeks, in two days, in donkey's years, in a long time, etc.) is a Negative Polarity Item. I.e, in two days is restricted to negative contexts, while for two days has no such restriction.

Notice that all the examples above are negative. Remove the -n't to see the difference.

For works fine, though the sentences don't mean the same thing.

  • Bill has taken a vacation for two years. (a very long vacation)
  • Jack has been to school for four days. (there were four daily attendances)
  • I had seen Mary for three weeks. (indicates frequent or continuous contact)

But all the ones with in are ungrammatical, and have no discernible meaning.
Grammarians mark ungrammatical sentences with an asterisk:

  • *Jack has been to school in four days.
  • *Bill has taken a vacation in two years.
  • *I had seen Mary in three weeks.

In other words, in negative sentences, there are two ways to refer to duration, with in or with for. Outside a negative context, the system doesn't work the same way. Negation is very complex.

5
  • 1
    "In" can be sometimes be used with positive polarity. E.g. (future tense) "Jack will return to school in two days". Note that this has a different meaning to "Jack will return to school for two days".
    – Lawrence
    Commented Jan 11, 2016 at 9:08
  • "In with an indefinite durative temporal phrase is a Negative Polarity Item." What exactly is an indefinite temporal phrase? In what sense is two days an indefinite interval?
    – Færd
    Commented Mar 16, 2016 at 19:24
  • 1
    Which two days? That's not a description of some definite length of time, but rather just its size, which will fit anywhere in a linked set of days; it's indefinite. Temporal means it's a phrase about time. Durative means it's a phrase about a length of time, not an instant of time. Commented Mar 18, 2016 at 0:01
  • No grammar book says that in can be used in a negative context. Using in should be informal and grammatically incorrect. Commented Jun 4, 2021 at 17:48
  • There you go, then. Commented Jun 4, 2021 at 21:10
2

This use of 'in' means '[with]in' (during) the time period, as opposed to 'in' (after) the time period. Since time is never the recipient of anything, 'for' can be overloaded to mean 'during', and 'to' was once overloaded to mean '[un]to' which meant 'until'.

2

My sense of the language insists there is a potential semantic difference, a difference in meaning, although the two phrases 'in two years' and 'for two years' are often used interchangably. Leveraging the difference in meaning might require nuanced poetic use, but I think not. For past tense, negative constructions (as in "Bill hasn't taken a vacation in/for two years"),

  • '... in two years' means 'at any time during the past two years';
  • '... for two years' means 'since sometime prior to the past two years'.
2
  • In the company I work for, we include credit card points information on customer's bills. This information is exported from our loyalty system and loaded before invoice production. It should not be done too early nor too late, otherwise the data will be either too old or not reflected on the bills. I wrote a program that runs on each bill cycle day and checks whether the data was loaded one or two days ago, or it sends an email alarm. Which phrase should I put in it? “Alarm: Credit points data have not been loaded in/for (the past) two days.”
    – Yang Muye
    Commented Nov 19, 2016 at 17:05
  • 1
    @YangMuye, disambiguating the two statements: "Credit points data have not been loaded during (=*in*) the past two days" or "Credit points data earned during (=*for*) the past two days have not been loaded". Note the phrase reordering. In sum, the statement "Credit points data have not been loaded in the past two days" says nothing about when the points were earned, while "Credit points data have not been loaded for the past two days" is ambiguous: it may be taken to refer only to points earned during the past two days, or it may be taken in the same sense as in. If that matters....
    – JEL
    Commented Nov 19, 2016 at 22:07

You must log in to answer this question.

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