1. I have eaten food for two hours.
  1. I have been eating food for two hours.

Are both sentences correct? Do they mean same thing that, "They started eating two hours back and eating even now" ? If not, what is the difference in meaning between them?

  • (1) would be OK with some other verbs ('I have walked for two hours', for example), but I can't imagine anyone actually saying 'I have eaten food for two hours'. Commented Jun 17, 2020 at 7:33
  • So Is 1)I have walked for two hours and 2)I have been walking for two hours same?? Do they mean they started walking two hours back and walking even now?? Commented Jun 17, 2020 at 7:37
  • 'They started walking two hours back and are walking even now' (or, better, 'are still walking'). Yes. Commented Jun 17, 2020 at 7:53

1 Answer 1


The prepositional phrase which functions as an adverbial of time of the type for some identified period of time is not used with the tense structure of the Present Perfect tense in the literary speech with the verbs of accomplishment. This adverbial of time is a marker of the Present Perfect Continuous tense in such case. To put it simply. Such usage happens sometimes in the vocal speech rarely. If you want to convey such an idea you may use other grammatical structures. For example, Sorry, I am fed up. We have already spent several hours eating.

Why the sentence *I have eaten food for two hours is ungrammatical totally in the literary English? The verb eat has got the two meanings in the literary language: 1. chew food and swallow it, 2. have a meal. The major test for the correctness of usage for the Present Perfect tense is that we can often construct a sentence with the linking verb be or with other present-tense grammatical constructions to show the real (or imaginary) result implied in the sentence with the Present Perfect tense. If the test failed, the sentence is ungrammatical. The example from textbooks, Utopia has invaded Fantasia. Test, Utopia is at war against Fantasia. The test passes. The sentence is grammatical.

In case of I have eaten food for two hours any possible test fails.

There are rare examples of such sentence in some textbooks of AmE. The reason is that the verb eat bears an informal meaning of getting one's fill in such examples. The test passes for such sentences as Someone is fed up usually. Though, no one sentence with the verb eat containes the adverbial prepositional phrase of the type for some identified period of time in these examples too.

  • 2
    How is an English language learner supposed to understand that? Commented Jun 17, 2020 at 7:54
  • Agree. It is not easy to explain these things in simple words.
    – kngram
    Commented Jun 17, 2020 at 7:56
  • This is a simple variant for learners.
    – kngram
    Commented Jun 17, 2020 at 12:42
  • But, of course I've eaten food for two hours. That's a traditional way to celebrate Thanksgiving. It so happens that I haven't done that in the past few years, but, like anyone who has enjoyed the occasional feast, I have done it, and possibly for even longer periods of time. A more important distinction here is that "I have eaten" lacks the immediacy of "I have been eating". In short, "I have been eating" implies that I am still eating; "I have eaten" implies that I am finished. Commented Jun 30, 2020 at 15:19
  • Sorry for delaying. Now ball's on your court. What you've written is really intresting, but it'll take space to write you back. Give me some time to mull over an answer that'd be short enough.
    – kngram
    Commented Jul 4, 2020 at 19:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .