Learn English – I have been to [place] + Adverbial Phrase of Time

prepositionspresent-perfect

Can we use present perfect tense to imply that we have been to [some place] before (but we are in a different place now) by adding the information that shows how long we stayed there?

But I have learnt that the sentence below is grammatically wrong:

  1. I have been to London for two weeks.

Should I say:

  1. I stayed in London for two weeks last month.

Best Answer

We don't normally use the present perfect when we indicate a definite period that the event occurred at:

  • *I have been to London in 1990.

But it is fine to say how long we were doing something for, as long as we don't indicate when this was:

  • I have held my breath for three minutes before.

Notice that in the sentence above, we do not know when this event occurred.

The Original Poster's example sentence is grammatical, although without more context it may seem a bit odd. Here is a similar sentence with some context:

  • I know you've been to London for the odd day before. But have you ever spent any real time there? Have you ever been there for two weeks, for example?

Hope this is helpful!

Related Topic