Maybe I just want one explanation on the present perfect with for/since.

In the sentence :

He has been on holiday for 2 months

To me, it doesn't tell us whether he is still on holiday or if the action has just stopped. Indeed, present perfect simple is past normally. Example: I could say to someone who is on holiday while me I am working but in some days he will go back to work

You can't complain because you have been on holiday for 2 months!

To you is it correct?

  • Your sentence is correct but the reasoning is not. It says nothing at all about whether something is continuing or not. It is about the "time of speaking", in the present.
    – Lambie
    Jul 23, 2022 at 17:31

2 Answers 2


The present perfect enables you to define a period of time prior to now. If you're talking about the duration, use for.

I have been on holiday for 2 weeks.

(for 10 years, for two hours, for months)

This implies that the activity is has continued, at least until now. (I believe it implies that the condition persists, but others disagree.)

You have been wrong about that all along. (You're still wrong)

We have lived here for more than 20 years. (We still live here)

I've been at the book store for 20 minutes. (I'm still at the book store)

Whether you agree or disagree that the condition persists, the key point is this: If you want to indicate that the activity has ended, use the past tense.

I had a headache for the entire afternoon. (Headache is gone)

I was on vacation for the past two weeks. (I'm not on vacation anymore)

When you reference the beginning of the activity, use since instead of for:

I have been awake since this morning.

(since noon, since 1999, since I was 12 years old)

This also implies that the activity is continuing. You can't really use the past tense with since, so you need a different construct:

I was asleep until now.

I was short when I was 9 years old.

  • There simply is no implication about still with the present perfect. It merely signals what has been going on up to the moment of speaking. "you've been wrong about that all along" means until this exact moment when I say that. There is no continuing idea at all.
    – Lambie
    Jul 25, 2022 at 17:22
  • I disagree. But regardless, if you want to indicate that something is over, use the past tense. That's what it's for. Jul 25, 2022 at 19:23

He has been on holiday for two months = by definition, he is still on holiday. At the time of my speaking, continues to be on holiday.

By definition means: up to or at the time of speaking. That is really what defines the present perfect. Not stopping or not stopping an activity. It does not inform us about that really.

I've been reading this book for two hours.=And will continue OR: will stop doing so but the present perfect does not specifically tell us that at all.

Compare: He was on holiday for two months.

He no longer is on holiday.

Just try to not overthink it. That's just the way it is.

  • You can't complain because you have been on holiday for 2 months! [at the time of speaking, two months have elapsed. A different meaning than the first one.]

Compare: You can't complain because you were on holiday for 2 months!

That's enough I think for one question; the continuous is another whole thing.

By the way, this usage rule applies to all uses of the present prefect.

Visual representation of the present perfect:

enter image description here

The Grammar of English Ideas: Distance, Meaning and Conventions A Re-imagining of English Grammar for Language Teachers
Full-text available
Jan 2014
Robert Buckmaster
This book is about the current pedagogical grammar of English which is taught on training and degree courses to teachers and then taught by those teachers to learners. It is also about a new pedagogical grammar which should be taught to teachers and taught by them to their learners. This book was revised slightly in November 2014. Please download...

Download full-text You can download the book for free.

Link: book

  • Okay, I understand, so when there is a for or since it's like the continuous, it's still ongoing?, If there is no for or since, it's past. ; I will remove the second part for another subject
    – safarie
    Jul 23, 2022 at 1:01
  • 1
    What you say is generally the case, but not always and not "by definition." People sometimes say "I've been [doing whatever] for [some length of time]" right after they've stopped. "I've been cooking for hours, and now, when it's time to eat, you say you're not hungry!"
    – cruthers
    Jul 23, 2022 at 1:11
  • Or even better, catching up on calls after returning: "I've been on vacation for two months, sorry I missed your calls."
    – cruthers
    Jul 23, 2022 at 1:13
  • @cruthers It is, of course, by definition. The whole point of by definition refers to the time of speaking. As I sit here or stand here or write here in the present: I have been reading. It says nothing about stopping or starting. It just means: up to this point in time, the present time. Whatever that may be.
    – Lambie
    Jul 23, 2022 at 17:27
  • 1
    "I've been cooking for hours" [I say now at the time of speaking]. It says nothing about whether the poor woman or man has stopped doing so specifically. It only says what they have been doing up to the time of speaking the utterance.
    – Lambie
    Jul 23, 2022 at 17:33

You must log in to answer this question.

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