So in the examples:

(1) They began cooking last night.

(2) They have begun cooking last night.

They literally both mean the same thing, and I am not sure in which context a person (speaking) would prefer one over the other. If anyone could explain, with examples, why this is?


  • 1
    (2) is ungrammatical. Where did you find these examples? Please look into the differences between Simple Past and Present Perfect. – Mari-Lou A Oct 2 '18 at 4:37

Your two sentences do not mean the same thing, though they refer to the same event.

  • The simple past designates a past event or state.

  • The present perfect designates a present state arising out of some past event or state.

    This is why the present perfect is not used with temporal qualifiers which do not include the present: "They have begun cooking last night" is not acceptable English.

What you can say is:

George began cooking last night, and John began cooking ten minutes ago, but both George and John have (now) begun cooking. Jane has not yet begun cooking.

Perhaps the difference will be a little clearer if we use a telic verb rather than the aspectually complex begin:

George cooked dinner last night, and John just cooked breakfast. Both George and John have now cooked a meal. Jane has not yet cooked a meal: she will cook lunch today.

  • ... and Steve had begun cooking last night but he burned his hand and was taken to the hospital. – AmI Oct 2 '18 at 6:11
  • Hi, also I was referring to the past participle not present perfect, so if you could edit your answer for that. Thanks. – user318260 Oct 4 '18 at 1:30
  • @Strikers You can't abstract the PaPpl from the construction *HAVE +Verb<sup>PaPpl</sup> in your example. This is a present perfect. – StoneyB on hiatus Oct 4 '18 at 19:13

There's a barbecue cook-off. Some contestants arrived 10 minutes ago and started cooking. Others are just now beginning. They have begun cooking. (And they continue to start.) Your sentence involves no continuation, just a specific time. "They began cooking last night" is correct.