Present Perfect Continuous vs. Present Perfect

Which is correct, are both equally possible?

"I've had a cold for the last three days." or "I've been having a cold for the last three days."

"I haven't felt like this for ages." or "I haven't been feeling like this for ages."

Is there a rule? I browsed similar topics here but I can't find an answer.


This gets a bit complicated.

There are a number of verbs that express bodily or mental conditions, which hardly ever take continuous forms. I am cold, I have a cold/a headache/an itch/flu, I am in love, I'm tired/bored/excited are all examples. This has little to do with the meaning, because I am suffering from a cold/a headache/flu and My leg is itching are normal, and the simple present cannot be used for them expect in a habitual sense.

So the answer to the first question is I've had a cold..., not I've been having a cold ....

Most of these can be used in the continuous, but it is comparatively unusual, and has a special meaning. I am being cold emphasises the continuing experience, and is usually conveying some extra experience or intention. It might imply I am enjoying being cold, or I am making a point of being cold so that somebody sees it. He's having a cold might even imply that he isn't in fact ill, but wants people to think that he is.

The specific implication of using this form might not be clear without context, but there will usually be some additional meaning being conveyed.

Feel seems to me to be able to go both ways. It can be used both in the simple form and in the continuous; and there might be an extra meaning conveyed by the continuous, but there doesn't have to be.

So I've felt this way ... and I've been feeling this way ... both work equally well; but as Armen says, in the negative this doesn't work, but that's not because of the word feel, but because haven't been Xing is incompatible with for ages (it works with a period of time which includes the present, such as recently or this month).


For expressing an action or state that has been persisting starting at some point in the past till the present, one uses the present perfect or present perfect continuous tense. The choice between the two depends on whether your verb(or rather, its particular meaning) can be used with a continuous tense or not.

I am having a cold.

Incorrect, "to have" a cold is not used in continuous tenses

I have been having a cold for the last three days.

Incorrect

I have had a cold for the last three days.

Correct.

The same verb "to have" can be used in continuous tenses depending on its meaning.

I am having a great time.

Correct

I have been having a great time for the last two hours

Correct.

I have had a great time for the last two hours

seems unnatural. Implies that at some point in time during the past two hours you had a great time, but not during the whole period.

Your second example is a different story. You can say

I have been feeling like this for ages.

meaning that your feelings at the moment have been the same for a long time. But the negative

I haven't been feeling like this for ages.

doesn't sound right. At least it means something different. It means "It is not true that I have been feeling like this for ages".

Note that the two following sentences do not logically contradict each other:

I haven't been feeling like this for the last three hours

I have been feeling like this for the last two hours.

But the following two sentences are logically contradictory

I've not felt like this for the last three hours.

I have been feeling like this for the last two hours.