Ok, to preface this question, I have read extensively on the subject of the present perfect and present perfect continuous. This question isn't about the present perfect for finished actions; rather, this is about the present perfect for unfinished actions that started in the past and are still true now. I know that if a verb is stative we can't use the present perfect continuous at all. So verbs like "know", "like", "love", etc are not to be used with PPC. But what about action verbs like "eat", "snow", "rain", etc? Is there a specific rule for action verbs, or are all action verbs interchangeable between the two tenses? I don't really see a difference in meaning.

I haven't eaten for two days. I haven't been eating for two days.

I don't think there is a difference for me. But again, another example in a grammar book:

It hasn't snowed for two months. It hasn't been snowing for two months.

For some reason, to my ear, the first one sounds better and more natural, but I can't explain why exactly. Is there an explanation or are both technically correct and ok to say?

  • Both natural, They just mean different things.
    – Jim
    Aug 18, 2022 at 4:54

1 Answer 1


With such nuanced grammar, the difference lies in emphasis and context, but I guess you already know that.

However, standard grammar (at least what I've learned) says that, with a specific—often brief—time expression typically led by the preposition "for", such as "for two days", we ought to use the present perfect continuous tense, which, in this light, works better in your first example. So, I'm all for "I haven't been eating for two days." Nevertheless, the present perfect case, "I haven't eaten for two days", also works if the speaker wishes to only emphasize the fact that nothing edible has gone into his mouth for two days, not to mention that, realistically speaking, one cannot be eating continuously for two days.

It doesn't help that when the time expression, or duration, is longer, such as "for two months" in your second example, the "rule", if ever there is one, becomes fuzzy. In my view, both the present perfect and present perfect continuous work, but if I had to choose, I'd go for "It hasn't snowed for two months." There just isn't a strong reason to justify the usage of the present perfect continuous tense that I can think of, for the speaker is only declaring a fact, not so much the process of snowing. In this case, simplicity wins.

But when a process is being emphasized, the present perfect continuous could be justified after all. Consider:

  1. I haven't read for nearly a month.
  2. I haven't been reading for nearly a month.

Here, since the process of reading is being emphasized, option #2 is preferred.

Lastly, back to "eat". Meals are static while reading has a more continuous nature. But that doesn't rule out the present perfect continuous in the case of "eat". Imagine being forced to a greasy breakfast with a terrible hangover and asked the question: "Why haven't you been eating your bacon?"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.