I was talking to a Singaporean (English is her native language. I think, closer to American rather than British) friend.

I learned in English class that you can use present perfect when there is a connection with present. So the discussion was something like that. I was trying to use present perfect correctly.

A: Have you been to French class today?

B: Yes I have. I went this morning.

But she told me it's an old fashion way of using present perfect. And no one uses it like that, at least not in the US and Singapore. She would use past simple there.

A: Did You go to French class today?

Is it wrong to use the present perfect here or do I look stupid if I use it?

  • 5
    One American's perspective: If there's only one French class held each day, you should use the simple past. If going to French class is something you have several opportunities to do each day (which one presumes is the case here from the answer), the present perfect is better. Jun 9, 2012 at 15:11
  • 6
    Singapore English - Singlish - is a poor guide to correct useage. You can trust me on this: I live there. Jun 9, 2012 at 15:30
  • 3
    The difference is that the perfect comments on a stretch of time, while the simple past need not. So words like yet or already can get used more easily with the perfect (have you been there yet, he's already been there). With an event that's regular and repetitive like a class, the potential differences between the two constructions are largely neutralized, and it doesn't make any difference which one gets used. This happens a lot; there's a great deal of overlapping redundancy and tolerance for ambiguity in natural language. Jun 9, 2012 at 16:22
  • 4
    @jasper Loy ~ that depends on whether you accept the 'anything goes' theory of language or not. I don't for two reasons. One is where do you draw the line? Do you tell a student who is constructing ungrammatical sentences that they are OK, just variants? The second is that if you don't maintain a standard and just accept any 'variant', you defeat the purpose of the language as variants become unintelligible - as Singlish frequently is to other English speakers. American or Australian English is a variant. Singlish is closer to a creole as it imports non-English structures. Jun 9, 2012 at 17:33
  • 2

6 Answers 6


It wouldn't be wrong to say "Did you go to French Class today?", nor would it make you look stupid. Your friend is wrong though. There is nothing old-fashioned about using a perfect tense where a perfect tense is needed.

In your example, it would depend on the circumstances. "Did you go to French class today?" is seeking information and nothing more. "Have you been to French class today?" is important in the present - maybe you want to know what you have missed, or help with homework.

  • 2
    @FumbleFingers, how about "I've been to the dentist today. My teeth look so white!" vs. "I went to the dentist today. Had to to take the morning off work."
    – Alex B.
    Jun 9, 2012 at 16:20
  • 2
    cf. Swan 2005, "Did Ann phone you today?" (you expected Ann to phone you at a particular time) vs. "Has Ann phoned you today?" (no such implication).
    – Alex B.
    Jun 9, 2012 at 16:36
  • 2
    @FumbleFingers, past simple is for finished 'dead' actions. Present perfect is for 'live' actions that are either still happening, have present consequences, or are still relevant. They are not the same thing. Jun 9, 2012 at 17:38
  • 1
    I can see a difference. I would use "have you been..." if I had an ulterior motive for asking, and "did you..." if it were mere curiosity. Jun 9, 2012 at 18:06
  • 2
    @FumbleFingers, I just wanted to see how you'd interpret those examples. I quoted Swan to show you that some speakers make that distinction. Others don't. I see no problem there. In most cases acceptability is contextual; it also depends on your age, education, gender, where you've lived etc. - you know what I mean.
    – Alex B.
    Jun 9, 2012 at 18:39

You are right and your friend is wrong.

For instance, look at the following sentences and at the explanations below to understand the difference between present perfect and past simple:

(a) Past simple: I lived in Florence for five years (... but I do not live there anymore.)

(b) Present perfect: I have lived in Florence for five years (... and I still live there now.)

(c) Past simple: I broke my glasses ... (but it does not matter. I repaired them.)

(d) Present perfect: I have broken my glasses ... (and so I can't see properly now.)

You probably learned the difference between (a) and (b) years ago: one of the differences between past simple and past perfect is the 'time' of the verb, i.e. when it happened. The difference between (c) and (d) is harder to understand.

In (c) and (d), 'time', i.e. when the verb happened, is not really what separates the two sentences; it is possible that both (c) and (d) happened last month, this morning, or one second ago. What is important is that the event in (d) is considered more relevant to the situation now than the event in (c), which is why it is given in the present perfect.

That said, let us consider the first sentence "I sent you a letter a few days ago, I was wondering if you have received it." Here the person who asks the question would seem interested to talk about what he or she wrote in the letter. (Lett. 'd' in my example.)

In the sentence "I sent you a letter a few days ago, I was wondering if you received it," the person who asks the question wants to make sure himself or herself that the letter is being received. (Lett. 'c' in my example.)

  • 1
    Great to see you around again, Carlo.
    – Paola
    Jun 9, 2012 at 17:59
  • 1
    Although everything here looks to be true, it's got little to do with OP's question, which is about framing a question using auxiliary verbs have or did, not about framing a statement using past simple or present perfect. Whichever auxiliary verb OP uses implies nothing about the time of the thing being asked about, since it's explicitly stated that the French classes were today. Jun 10, 2012 at 2:02
  • This "answer" has been duplicated several times on EL&U see this answer and this answer too.
    – Mari-Lou A
    Feb 26, 2015 at 15:47
  • But in spoken American English, as far as I'm aware "I broke my glasses" while holding a pair of broken glasses would be completely normal.
    – Some_Guy
    Aug 15, 2019 at 11:38

OP's friend has some odd ideas. It's true that there's an increasing tendency to use to do rather than to have as the "auxiliary verb" in such constructions (see this NGram for the steady rise of did you eat over have you eaten), but it's a bit excessive to say "Have you been [somewhere]" is in any sense "old-fashioned".

One big difference between the two versions is replacing today with yesterday only works in one...

*Have you been to French class yesterday? (not valid English)

Did you go to French class yesterday? (perfectly normal)

(this difference is totally irrelevant to OP's exact context, which is explicitly about earlier today).

Another difference in certain contexts is "have you been" can be more "condemnatory"...

"Have you been smoking cigarettes?" normally sounds accusing/disapproving

"Did you smoke cigarettes?" might be neutral, or even "incredulous/adulatory"

(try replacing "smoke cigarettes" with "kiss" if that example doesn't work)

  • 1
    I don't think that Ngram tells you anything, except maybe that we are getting more obsessed about our diets. Nearly all of the hits for "did you eat" that I looked at were in constructions where the present perfect would never have been used. Jun 9, 2012 at 15:16
  • 2
    +1 The trend to use the simple past for things that "have just happened" is far stronger in America than in England, I believe. So using each will give a different impression in either country. Jun 9, 2012 at 15:28
  • 1
    @FumbleFingers: Do/did is a red herring: this is really about the simple past v. the present perfect, isn't it? I just finished my test v. I've just finished my test. Jun 9, 2012 at 15:31
  • 1
    @FumbleFingers: Umm now you are complicating things even further. First, did she go? and she went are both simple past. Interrogative or not doesn't change this. Secondly, you appear to be comparing apples and onions: have you been is about the verb to be, whereas did you go? is about to go. I use p.p. and s.p. intuitively, and I find the difference very hard to pin down. When I try to pick one consciously, I feel as though my brain shut down. Jun 10, 2012 at 2:07
  • 1
    @FumbleFingers: Um oh, oops! I was so busy considering p.s. v. p.p. that I ehm forgot to look at the question altogether. My brains are exploding (all six) so I think I should stop pondering this. Your analysis of the difference between I have just typed and I just typed has been noted. Jun 10, 2012 at 2:22

In my personal opinion, it's more elegant to use "have been" sometimes, and I actually think it could come off as being more polite if you are talking with an acquaintance, co-worker, or stranger. Using the past simple sounds a little more casual to me - not always, but sometimes.

I always liked using "have been"s in my sentences. Habit, I guess. But I did have some American teachers who frowned upon using it too much - especially in essay reports. Especially this one teacher I had in high school. You wouldn't believe how many times my sentences would be "corrected" by her, only to be reworded to be in the past simple form. Come to think of it, I still don't know why she kept changing it. Oh well.

Anyway, my point is, if your friend learned English mainly through school, she might think it's wrong or old-fashioned if she had teachers like mine and it's been ingrained in her head that she can't use it.


I don't think you "sound stupid" at all if you say that.

It's very common to use the Present Perfect (Have P.P.) when the period of time isn't finished or continues until now.

Have you seen Jim this morning? = asked at 10 am

Did you see Jim this morning? = asked at 1 pm

So, "Did you go to French class today?" in fact sounds to me like something a husband would ask his wife at night, right before they go to bed

  • From past until now is one use. The others are pre-present - "he has just left"; finished with present consequences - "he has learned to drive"; or indefinite past - "malaria has killed millions". Jun 9, 2012 at 18:01
  • I think it's disingenuous to switch today in OP's sentences to this morning. The French class must be in the past in order to ask about it, but today is today all day long, so it can't be far in the past. Both OP's constructions do in fact occur, and I don't see either implies anything different from the other about how long ago the French class was. So I don't think the fact that such a distinction can be made in other contexts has any relevance here. Jun 10, 2012 at 2:43
  • I see your point, Roaring Fish, FumbleFingers. The state of the Verb can in fact exist independent of the time expression. Like in the other threads then, it should be something about the current importance/ significance of the past action
    – Cool Elf
    Jun 10, 2012 at 5:19

I thought I should add an interesting piece of information re: this morning with the Present Perfect and Simple Past.

Geoffrey Leech (2004) reports that there are some speakers of English who find it possible to say "I've been to the dentist this morning" in the afternoon or evening: "for them, it seems, we can interpret this morning as 'today in the morning.'"

  • I am certainly one of those speakers; do I gather that you would say I'm going to the dentist this morning and mean 'tomorrow in the morning'? If so, it seems a peculiar use of this. Jun 9, 2012 at 16:24
  • 1
    @TimLymington, no. I'd say "I went to the dentist this morning" unless I really want to emphasise the importance or relevance of my visit to the dentist.
    – Alex B.
    Jun 9, 2012 at 16:54

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.