What is the difference between "I have eaten" and "I have finished eating"?

  • Please write out each in a complete sentence, then ask what it is you feel to be different about them.
    – lurker
    Jan 1 '16 at 22:58

Fairly familiar usage, ordered by how recently I ate, with common implications:

"I have finished eating" -- I just now finished eating.

"I am done eating" -- I recently finished eating; I will not eat again soon.

"I have eaten" -- I ate earlier today; I am not hungry now.

  • I upvoted this answer, but I must highlight the word "typical." There is plenty of flexibility here.
    – J.R.
    Jan 2 '16 at 12:37
  • Flexibility indeed, @J.R., thank you. Your edit, if made, wasn't recorded so I changed typical to familiar and highlighted that.
    – lauir
    Jan 2 '16 at 17:34

The present perfect tense usually indicates that an action took place during a time interval that ends in the present (or sometimes continues past the present). Perhaps the action happened once at some unspecified time during that interval, perhaps the action happened many times, or perhaps the action spanned the full duration of the time interval. If the action spanned the whole interval, then usually the present perfect tense indicates completion.

This sentence:

I have finished eating.

emphasizes completion, so probably the speaker is saying it in order to tell you that the time interval ended just now. Usually a person would say "I have finished eating" while still sitting at the table for a meal, to imply that they don't want any more food. It means that the person's meal is now finished. The relevant time interval is: the total duration of the meal (for the person who just finished eating).

You would say this sentence:

I have eaten lunch.

if someone at work asks if you would like to go out to lunch with them but you already ate lunch a little earlier. For example, if someone asks you at 12:45 p.m., "Would you like to go out for a sandwich?", the implied time interval is the usual period when people eat lunch: from about 11:30 a.m. to about 1:30 p.m. By saying "I have eaten lunch", you indicate that you already ate lunch during today's time interval for eating lunch. (You would probably say "I ate lunch" if someone asks you at 3:30 p.m., long after the usual time interval for eating lunch.)

You must log in to answer this question.