EN: Did you eat it? / Have you eaten it?


Senior Member
I just want one more explanation.
Because sometimes it's ambiguous.

If i ate something in the past (in the morning for example) and my mum could ask me "did you eat that ?" Or "have you eaten this?"
I dont not know because the action is not in the present (she doesn't see me eating it right now) but there is a relevance in the present because we can't do the dinner now.

In AE, they use in this situation only did, but in BE, I do not know.
Thank you !
  • Il nous faudrait davantage de contexte pour pouvoir trancher. Pourquoi votre mère vous demande-t-elle ce que vous avez mangé ? Que sous-entend-elle ? De quelle nourriture est-il question ?

    Quoi qu'il en soit, le simple past me semble a priori plus adapté dans votre exemple.
    In BrE, either the present perfect or the past simple is possible in that context.

    "Did you eat that?" puts the focus on the past event; "Have you eaten that?" focuses on its impact on the present situation.
    Last edited:
    The difference between present perfect and preterit is sometimes very hard to explain to a French native!
    Recently, in Stranger Things, they used in the same episode two expressions for kind of the same excessive and violent reaction of one protagonist (to say the least!): What have you done?/What did you do?

    But the context was key to understand why one man used the preterit while the other used the present perfect:
    For What have you done?, the man knew exactly what she had done and why she had done it, but it was a way for him to say Do you realize what you have done? Do you realize how serious it is and the consequences it will have?
    While for the other one who said What did you do?, he genuinely didn’t know what she had done (and, consequently, why), he could only see the consequence on the spur of the moment, and he really wanted to know what she had done a few minutes before.

    I guess it’s kind of the same difference between Did you eat that? (nothing is really implied here, just a genuine question without any underlying comment) and Have you eaten this? (here, something is implied, for example: I hope you haven’t, because you perfectly knew it wasn’t for you). But as said MC, the context is key.

    And yes, sometimes it’s just a difference between BE and AE, sometimes, it’s much more than that and even an American speaker can use both to say two different things.
    It's worth remembering as Daisy Marigold pointed out that the present perfect does exist in AmE. She pointed out what I call the experiential use ("have you ever done X?").
    Basically, as a learner, you are confronted with two large standard dialects (and many more dialects standard in their own countries, e.g. Canadian English, Irish English and so on). So it is a bit confusing. But in BrE if there is no link to the present and the action is fully in the past, then you use the Past Simple/preterite. The use of this can often be spurred by the use of exact timeframes in the past:

    "Did you eat your breakfast before you left for school?"

    Here "before you left for school" places the entire thing wholly in the past.

    "Did you take the rubbish out last night?"

    Here "last night" is an exact time reference that places the thing fully in the past.

    "Have you finished your breakfast?"

    This has relevance to the present: a mother is trying to get her child ready to leave for school and wants to know if he has finished his breakfast and is now ready to get his things together and leave for school. It's almost like there is a list of tasks to do, and "finishing breakfast" is now done, and you can put a big tick by it. The present relevance is that that thing is done and you can proceed to the next thing to do.

    "Have you put the rubbish out?"

    This implies that this is something we need to do today (because the bin men are due today). It is not asking about last night or in 1992, but about something that needs to be completed today. Americans might use the Past Simple here.

    Americans sometimes ask "did you eat?" (or as a non-speaker of AmE that is what I think they say), and learners are told that we say in England "have you eaten?" But I find "eat" as a kind of non-transitive verb odd. What we actually say in England is "have you had anything to eat?" But once you strictly limit it via some other phrase, then you can have "did you have anything to eat while you were at the beach?" "While you were at the beach" limits the whole thing temporally and forces use of the Past Simple.


    Did you have anything to eat yesterday? (fully in the past)
    Have you had anything to eat today? (today = present relevance)
    Last edited: