0

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?

or

Did you drink your milk?

or

Have you finished your milk?

or

Did you finish your milk?

1
  • Least likely in my neck of the woods is "Have you drunk" but all are OK.
    – TimR
    Commented Mar 18, 2016 at 16:14

2 Answers 2

1

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.

1

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.

8
  • He gave it to her 10 minutes ago. But she could have finished it.
    – TimR
    Commented Mar 18, 2016 at 16:15
  • 1
    @TRomano Yes, but the OP wrote I have given it to her 10 minutes ago.
    – Schwale
    Commented Mar 18, 2016 at 16:16
  • 2
    Right, you were correcting his question, but OP might think you were commenting on the four possibilities.
    – TimR
    Commented Mar 18, 2016 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.
    – Schwale
    Commented Mar 18, 2016 at 16:20
  • 1
    Yes, "it" is ungrammatical there. "the milk that I gave her".
    – TimR
    Commented Mar 18, 2016 at 17:00

You must log in to answer this question.

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