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:
- I have been to London for two weeks.
Should I say:
- 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:
But it is fine to say how long we were doing something for, as long as we don't indicate when this was:
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:
Hope this is helpful!