55

My friend asked me just today, "Hey, how are you?"

I said, "Tired, sleepy, and can't concentrate on my work."

He then asked, "Why so?"

Here is where the interesting part starts.

I said, "I have had a headache yesterday"

He said that I should have said "I had a headache yesterday" instead of "I have had a headache yesterday"

But all grammar books say that with Present Perfect + Past Tense we mean an action that continues into the present; has consequences in the present.

I didn't want to just tell the fact that I had a headache but I implied that that was the reason I was "Tired, sleepy, and can't concentrate on my work."

Who is right?

SovereignSun
  • 25,028
  • 40
  • 146
  • 271
  • 29
    PS: He said that I must have said "I had a headache yesterday" doesn't mean the right thing. Use: He said that I should have said "...". – Nigel Touch Mar 22 '17 at 19:10
  • @NigelTouch Why should, why not must? Grammar please. – SovereignSun Mar 23 '17 at 05:35
  • 11
    "Must" is used in the sense of "should" or "is required to" when referring to future actions. "Must" can also convey the sense that something is very likely or necessarily true. If I say "I must have said [something]," the meaning is that one could infer (from other facts) that I actually did say the thing that I must have said. In this case it is clear that you did not say "I had a headache yesterday," (But I think your comment would make a good new question, which might receive a more complete or better answer.) – David K Mar 23 '17 at 08:53
  • 1
    No. He's right.

    You mean something very specific that you don't mean, with I have had yesterday.

    I have had implies "I once had". I can't think of any real example that what you're saying would actually make perfect sense.

    – Timo Mar 23 '17 at 10:25
  • 1
    Re "Must", note that another valid phrasing is He said that I must say "I had a headache yesterday". As already covered I must have said "x", is a comment on reality (E.g. I though I said "y", but I now realise that I actually said "x") where must have is (I believe?) acting as a single phrasal verb. Whereas I must say "x" is a declaration about what is necessary, or required, or correct. – Brondahl Mar 26 '17 at 11:25

4 Answers4

126

Yesterday refers to time in the past. If the headache has passed, you no longer have it:

I had a headache yesterday.

If your headache began yesterday and you still have it:

I have had a headache since yesterday.

Let's say you've acted grumpily towards someone and you want to apologize:

I'm sorry. I have had a bad headache all day.

You still have the headache. It began in the past (perhaps this morning) and has persisted.

Merely a causal connection between a past event and the present is not sufficient grounds to use the present perfect. If there is a time phrase relegating the action to the past, you cannot use the present perfect in that clause. If the time phrase excludes the present, the present perfect cannot be used in that clause.

He robbed a bank five years ago. And now he is in prison.

He robbed a bank early this morning, and he will go to prison for it.

He robbed a bank in his youth and he went to prison for it.

But contemplate this:

You have robbed a bank and now you are going to prison.

There is no time phrase relegating the robbery to the past, no time phrase which excludes the present; the speaker, by choosing the present perfect, is expressing a relationship of the past event to the present.

Here's how you might translate it on a semantic level:

He robbed a bank ~ he was a bank robber

He has robbed a bank ~ he is a bank robber

TimR
  • 123,877
  • 7
  • 100
  • 202
  • This is more of a follow up question. If you want to express that you still have the headache, is it ok to simply say "I have a headache since yesterday" instead of "I have had..."? – Mr. 14 Mar 23 '17 at 06:05
  • 7
    @Mr.14: Nope, it needs to be either "I have had a headache since yesterday" or possibly "I have a headache, and have had it since yesterday". "Have" says your headache exists currently. "have had" says your headache existed in the past. – Mark Ripley Mar 23 '17 at 06:55
  • 1
    @Mr.14 Or "I have a headache, which started yesterday". – TripeHound Mar 23 '17 at 10:00
  • @Mr. 14: As Mark Ripley says, that doesn't work. We cannot combine a present tense verb with since in the same clause, with the possible exception of the verb-to-be, in questions, where we find since when are ... – TimR Mar 23 '17 at 11:47
  • Why not using the present perfect continuous instead? "I've been having a headache"? Would that be wrong for the case "it started yesterday, and I'm still having it"? – user8469759 Mar 23 '17 at 17:23
  • 5
    @user8469759 It would perhaps not be entirely wrong, but you wouldn’t be likely to use the present perfect continuous in this case. Having a headache is a state, rather than an action, and the present perfect continuous tends to indicate regular reoccurrence with state verbs. You could say, “I’ve been having headaches since yesterday” meaning there’s been a regular reoccurrence of (separate) headaches coming and going for two days. This is different from “I’ve had a headache since yesterday” where the same headache has been there constantly. – Janus Bahs Jacquet Mar 23 '17 at 17:29
  • @JanusBahsJacquet, I'm interested in the distinction you're pointing out. Any reference supporting the point of "regular reoccurrence" vs "the constantly"? My point anyway was more about the fact that the "state" still persist in the present. When you say (for example) "I've achieved something" the achievement happened in the past, what is in the present is the effect. In this case you're pointing you had an headache in the past and you're still having it. – user8469759 Mar 23 '17 at 17:37
  • @user8469759 That’s the same difference you’re noticing there: achieving something is an action; having achieved something is the resulting state. With action verbs, the continuous aspect denotes that the action is ongoing, and the perfect denotes that you’re talking about the resulting state, rather than the action; so the perfect continuous denotes that the state is the result of an ongoing action. It doesn’t make sense to talk about the resulting state of being in a state—the original is already a state. So there the perfect has to take on another meaning. – Janus Bahs Jacquet Mar 23 '17 at 17:48
  • Isn't it premature to conclude from the use of simple past to not having headache anymore? For example the following phrases seem all right to me, no logical contradiction: "Yesterday I had a headache. Today I still have a headache." I think simple past means simply, that something happened in the past, but does not necessarily mean it ended. Maybe we don't know that information yet. Maybe we are talking about someone else who had a headache yesterday and we've not seen them today to be able to tell whether their headache stopped. It would be impossible to express with a tense. – Zelphir Kaltstahl Mar 26 '17 at 11:56
  • @Zelphir: I'm not concluding anything. You have it backwards. I'm stating the scenario and then presenting the choice of tense that would express the scenario. – TimR Mar 26 '17 at 16:35
  • @TRomano So am I right in thinking that simple past can be used as I described? – Zelphir Kaltstahl Mar 26 '17 at 18:06
  • @Zelphir: "as described"? I had a cup of coffee yesterday. I'm having another today. There's nothing about the past tense per se that indicates anything about the present. – TimR Mar 26 '17 at 18:19
  • @TRomano I described it to be usable for events, which "simply happened" but which we do not know yet whether they are completed or over yet. Simply stating that something was in the past, does not mean it cannot be in the present. I see it as "giving less information" about the current state of something, than the usage of past perfect for example. – Zelphir Kaltstahl Mar 26 '17 at 18:23
  • @TRomano Ah OK, then it is as I thought : ) Thanks! The key phrase here is: "There's nothing about the past tense per se that indicates anything about the present." That is how I always thought of the past tense! – Zelphir Kaltstahl Mar 26 '17 at 18:24
  • @Zelphir: but one would reasonably infer, absent further context, that the headache is gone, if a native speaker says "I had a headache yesterday". Why? Because the idiomatic way to say that the headache began yesterday and persisted is "I have had a headache since yesterday". – TimR Mar 26 '17 at 18:27
  • @TRomano Of course, I get that : ) I was only wondering whether not such a tense is a mistake. For example, if you don't want to supply that information (if they infer something which is not true it's their fault for assuming things ;), or if you don't know that information. I think it is the same in Spanish and German tenses. – Zelphir Kaltstahl Mar 26 '17 at 18:32
42

I'd like to add to the great answer by TRomano above a little.

First off, I think you mean only Present Perfect (rather than Present Perfect + Past Tense), and your friend was right. This error is a common mistake among learners: the conflict between the tense and the time expression in the same sentence.

INCORRECT: I have had a headache yesterday.
(Why? Because have had continues from the past to the present. But yesterday is in the past.)

To fix this, you can a) match the tense to the time expression:

I had a headache yesterday.
(This had indicates an event in the past. Yesterday is in the past. It's a good sentence!)

or b) match the time expression to the tense:

I have had a headache since yesterday. (Have had continues from the past to the present, and so does since yesterday. This is another good sentence!)

Just remember: tenses and time expressions go together!

Damkerng T.
  • 27,174
  • 10
  • 70
  • 161
7

Here's an additional reason why the sentence "I have had a headache" sounds a little strange.

You can use the present perfect with a recent event that you are "still feeling". For example:

My arm hurts because I have been stung by a bee. (The bee sting is over, but I am still feeling the effects of the bee sting.)

I have ridden a roller coaster and now I'm dizzy. (The roller coaster ride is over, but I am still feeling the effects of the ride.)

I shouldn't drive because I have had too much beer. (The drinking is over, but I am still feeling the effects of the beer.)

I don't think of a headache as having lasting effects, the way that bee stings, roller coaster rides, and beer do. Even if you feel tired today because of the headache, you are not "still feeling" the headache.

Tanner Swett
  • 5,822
  • 15
  • 27
  • 1
    "I am grumpy today because I have had continuing effects from the headache I had yesterday." – hBy2Py Mar 22 '17 at 21:46
  • I feel like I haven't done a good job of explaining this, so I've marked this answer as community wiki in case someone would like to improve it. – Tanner Swett Mar 24 '17 at 17:20
  • I thought it was fine... I was just trying to make a sort-of-joke by putting examples of both in the same sentence. – hBy2Py Mar 24 '17 at 17:27
1

"I have had a headache since yesterday"

Would be the way to say it in perfect tense, meaning you had a headache and it is still present now.

"I have Had a headache"

Would mean you have a headache now, it started in the past but the starting point is still unclear

"I had a headache yesterday"

This would be completely past tense, your headache started yesterday and then it finished so now it's a thing of the past.

"I had a headache"

Finally, the most ambigious and past-tense only example. This means you simply had a headache at one point in the past and it has ended some time ago.

Jalapeno
  • 159
  • 2