For the following sentence:

I haven't been there in a long time.

I want to know if the above sentence conveys any connection with time up to now. How can I correct this sentence it if it is incorrect?


Solution 1:

There's a lot going on with this question, and with the sentence it presents for analysis.

First, being there isn't an action, and neither is not being there. So ignore that definition; it's obviously wrong. (BTW, it's not "present perfect tense" either -- English only has two tenses, Present and Past).

Second, there are four senses of the Perfect construction, which are elucidated here. This is Type 3, the Stative/Resultative sense, used to indicate that the direct effect of a past event still continues. In this case the past event is the speaker's leaving, a long time ago, and the direct effect of that event is the speaker's current absence.

Third, in a long time, like in weeks or in ages, is a Negative Polarity Item (NPI), i.e, it's only grammatical inside the scope of a Negative. So (2), without a negative, is ungrammatical:

  1. I haven't been there in a long time/in weeks/in ages.
  2. *I have been there in a long time/in weeks/in ages.

What's being asserted in (1) is that the state of the speaker's absence continues to the present from its inception a long time ago, or weeks ago, or "ages" ago. Affirmative ways do exist to say (2):

  • I have been there for a long time/for weeks/for ages.

but they use for [time length], not the NPI construction in [time length]

Solution 2:

The sentence implies that you have been there some time in the past, only not recently, if that is what you mean by "connection with time up to now".

Solution 3:

One point not properly brought out yet is that "I haven't been there for a long time* means that though you have visited the place, it was some time ago. However, "I haven't been here for a long time" means that you are at the spot now (since that's what here means), but arrived recently.