I can use the sentence "I have stayed there for three weeks" for meaning that I stayed somewhere (an apartment, a hotel, a city etc.) for three weeks any time in the past, right? It doesn't matter if I stayed there twenty years ago or if I recently left that place, does it?

Context: Let's say we are talking about hotels with a friend, and he mentioned the name of a hotel in a city which has beaches. And let's say I said, "I know that hotel, I have stayed there for three weeks" as a person who stayed there in the past (maybe many years ago, or maybe recently).


2 Answers 2


If it were my friend talking, and I had been the former guest, I might reply with one of these:

  • I have stayed there before.
  • I once stayed there for three weeks.

But I don’t think I’d say what you said:

  • I have stayed there for three weeks.

I’m trying to think of a situation where I might say something close to that – the best I’ve thought of is when I’ve stayed at the hotel multiple times, but my longest visit was three weeks. In that case, the conversation might go something like this:

F: I’m thinking about staying at the Waterfront Hotel in Miami.
M: Oh, really? I’ve stayed there before!
F: You have? How long did you stay?
M: Usually I only stay for a few days. But I have stayed there for as long as three weeks.

That’s me trying to force the have stayed there for three weeks phrasing and keep it sounding natural. Even then, I had to add the as long as part to make it work. I think a more likely reply would be:

M: My longest stay was three weeks.

although I might say:

M: So far, my longest stay has been three weeks.

if I still go to Miami on occasion, I still frequent the Waterfront Hotel when I’m there, and I have been toying with the idea of an even longer stay at some time in the future.

I don’t have a simple grammatical rule that explains my preferences, but as StoneyB’s canonical post says:

There is no hard-and-fast rule. The choice of a perfect to introduce a prior eventuality, like the interpretation of a perfect, depends on context—not just the nature of the eventuality introduced, but the reason it is introduced and the temporal context into which it is introduced. So the fact that a perfect is used in particular circumstances cannot be generalized to a rule that it should be used in those circumstances.

  • @J.R. Thank you. Does "I have stayed there for three weeks" sound wrong to you? Wouldn't other native speakers ever use it? May 26, 2018 at 10:40
  • I don’t want to say it’s “wrong” – but I do think it has an awkward feel. I’m guessing most native speakers would concur; we’ll see how the votes and comments go.
    – J.R.
    May 26, 2018 at 10:42
  • Some verbs turn into stative words when they are used with simple perfect plus "for”, as in "I have lived in USA for three years." Normally, "I have lived in USA" means you don't live there anymore while "I have lived in USA for three years." means that you are still living there. So, is the situation like this in the usage of the word "stay"? If I say "I have stayed there", it means I don't stay there anymore and I stayed there at some time in the past. But if I use "stay" with "for" like in "I have stayed there for three weeks", does it mean that I’m still staying there? May 26, 2018 at 10:51
  • 2
    That’s twice now you’ve left a comment about stative verbs. Now I’m wondering: If that’s what’s confusing you, why didn’t you include that background information in your question? How annoying! Anyway, you might say, “I have been staying here for three weeks” if you are still staying at the hotel. But you wouldn’t use “I have stayed there for three weeks” in your original context, when you stayed there a long time ago and you’re not currently there.
    – J.R.
    May 26, 2018 at 10:59
  • 4
    That’s not the same sentence! Adding “...but now I’m ready to go home” changes everything. That’s why your original sounds so awkward – it leaves the listener wondering, “What are you getting at? Why are you telling me this?” But when you add the part about being ready to go home, it all makes sense. The first part makes sense in that context because it helps explain why you are so ready to go home.
    – J.R.
    May 26, 2018 at 13:00

I don't think so. We are talking about the present perfect meaning and use. Let me quote the Cambridge Dictionary

the present perfect

the form of the verb used for actions or events that have been completed or have happened in a period of time up to now

Present perfect simple or present perfect continuous?

We use the present perfect simple with action verbs to emphasise the completion of an event in the recent past. We use the present perfect continuous to talk about ongoing events or activities which started at a time in the past and are still continuing up until now

So it's not the same staying in that hotel long ago than staying there recently.

You can say

I've stayed there for three weeks. I came home yesterday.


I stayed there long time ago back in 1987 for three weeks. Nice place.

More info about the use of past simple vs present perfect here

  • Thanks. But as far I know, since the word "stay" is not a stative verb, I can use it the way I did in the OP. But for example I can't say "I have been in Greece for three weeks" if I am not there anymore or if I didn't leave Greece very recently since the word "be" is a stative verb in that sentence. On the other hand, I can say "I have stayed in Greece for three weeks" even if I left Greece a long time ago since "stay" is a dynamic verb. May 26, 2018 at 8:19
  • @DereMemo I don't get your point. There is no mention of stative verbs as an exception in the references or anywhere that I know of. It seems by the information that I gathered, that you can say it, but it is gramatically incorrect.
    – RubioRic
    May 26, 2018 at 8:24
  • @DereMemo There is not relevant difference between staying in Greece, visiting Greece or being in Greece in your context.
    – RubioRic
    May 26, 2018 at 8:28
  • No, it matters if the verb is stative or not as far as I know. For example, if you say "People have laughed at him" it means people laughed at him at a point in the past since "laugh" is a dynamic verb. It doesn't mean that people still laugh at him. But if you say "People have loved Einstein", it means that people loved Einstein in the past and they still love him since "love" is a stative verb. May 26, 2018 at 8:29
  • 1
    @DereMemo this business about dynamic vs stative verbs is to do with the progressive form, e.g. She has been working since she left school (dynamic verb + ing = correct) vs She has been understanding Russian since she was a kid (stative verb + ing =ungrammatical)
    – Mari-Lou A
    May 26, 2018 at 15:20

You must log in to answer this question.

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