I want to know whether my daughter drank all her milk that I have given gave it to her 10 minutes ago; should I say

Have you drunk your milk?


Did you drink your milk?


Have you finished your milk?


Did you finish your milk?

  • Least likely in my neck of the woods is "Have you drunk" but all are OK. – Tᴚoɯɐuo Mar 18 '16 at 16:14

All the sentences are grammatically correct; the OP can use any of them in the context presented.

In BE, you use ony the present perfect for recent actions. So you don't use the past simple here.

On the other hand, Americans tend to use the past simple for recent actions, but the present perfect is also possible. So all the sentences are correct in AE.


10 minutes ago is a finished time expression.
The past tense is used for a finished action at a specific point in the past.

When using the perfect tense, we're focusing in the present.

  • He gave it to her 10 minutes ago. But she could have finished it. – Tᴚoɯɐuo Mar 18 '16 at 16:15
  • 1
    @TRomano Yes, but the OP wrote I have given it to her 10 minutes ago. – Alejandro Mar 18 '16 at 16:16
  • 2
    Right, you were correcting his question, but OP might think you were commenting on the four possibilities. – Tᴚoɯɐuo Mar 18 '16 at 16:18
  • 1
    @Ook Both past simple and present perfect can be used with for to indicate a period, but the meanings are different. 1) I have drunk milk for 10 minutes = I still drink the milk. 2) I drank milk for 10 minutes = I drink milk no longer. – Alejandro Mar 18 '16 at 16:20
  • 1
    Yes, "it" is ungrammatical there. "the milk that I gave her". – Tᴚoɯɐuo Mar 18 '16 at 17:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.