So I was on my way home from school, and I overheard two people talking about something. The one asked the other:

''Did I show you my graduation photo?'', I asked my self whether it shouldn't be ''Have I shown you my graduation photo?'', since it is a link to the present.

The two people weren't native speakers and neither am I, but I have a feeling that both are correct in AE.

Could anyone enlighten me about which one is correct.

Thank you

  • 3
    Both are acceptable. As an American, my impression is that the past tense is typically preferred to the present perfect in most cases. I'd even say "Did I already show you my graduation photo?" and "Did I show you my graduation photo yet?" although I understand those might be considered "errors" in, e.g., British English (OK, maybe in American English too, but nobody cares (OK, people care, but I don't care what they think)).
    – Patrick87
    Oct 2, 2014 at 16:52
  • I suppose you are not the only one who does not care.
    – rogermue
    Oct 2, 2014 at 18:21
  • You may find English Language Learners useful. Oct 2, 2014 at 18:31
  • Is there a link to the present? I guess if you were holding the photo.
    – Stuart F
    Jun 20, 2022 at 8:23
  • @Patrick87 Not errors; less favoured style choices, probably. Jun 20, 2022 at 10:24

4 Answers 4


Normally questions with "Did you ...?" refer to a definite time in the past indicated with adverbs or adverbials such as yesterday, lately, last week, last year etc.

And normally questions with "Have you + past participle" ask about a fact with no regard as to when it was. A professor of literature might ask a student "Have you read Hamlet/Beowulf? The professor wants to know whether the answer is yes or no.

These are the normal uses, but in real life questions asking for facts are also done with "Did you...?" as has already been said in the posts above. Why? Well, I think in colloquial language it's a bit cumbersome to analye such questions and in fast talk there is often no time for such analyzing. So the grammar system is often simplified and speakers use "Did you...?" when actually "Have you ...?" should be used.

  • I see, I tend to overthink these kind of things since I am not a native speaker, but it is relieving to know that it is okay to the Native ear to use either one
    – Milo
    Oct 2, 2014 at 18:40

Both are correct in English (not just American, but all dialects, as far as I'm aware). There is, as you've mentioned, a distinction in tense--"did I show" is past tense, whereas "have I shown" is present tense, perfect aspect--but in conversation the meaning doesn't really change between the two. There are nuances of difference that might be important in other situations, but in this case, there's no appreciable difference between "did show" and "have shown." So yes, both are correct.


I often heard my aunt's nurse say :

Did you take your vitamin this morning?

In this context (patient and her nurse),"did" appears/sounds a better option, more formal.

Have you taken your vitamin this morning? ....will sound a little informal.

      Crux: the meaning stays the same.     
  • 1
    In your example "Did you ... this morning?" the question with did is the correct thing because the question cleary refers to a definite time in the past.
    – rogermue
    Oct 2, 2014 at 17:51
  • Your example has a reference to the past (this morning) but thanks for the input
    – Milo
    Oct 2, 2014 at 18:36

The two forms are not the same.

Even though there are instances where both are equivalently usable, there would be many instances where one should be used in preference to the other.

For example, the difference in the following is very obvious without need for much explanation.

  • Did you kill my dog?
  • Have you killed my dog?

Another example.

  • Anna, have I shown you my wedding photos?
  • Jess, yes you have. You have shown them to me 1001 times.
  • Anna, I know I have shown you my photos but did I show you my wedding photos yesterday?
  • No Jess. Why would you show me your photos again yesterday?
  • Because, Anna, I wanted to show you a funny background which you might have missed.
  • Oh no, not again !!!
  • 1
    'the differences in the following is very obvious without need for much explanation': this is not very helpful. I am not 100% sure I get the difference despite having a CAE (C1 level certificate of English). Dec 14, 2015 at 10:14
  • @Blessed Geek "For example, the differences in the following is very obvious without need for much explanation. Did you kill my dog? Have you killed my dog?" Could you please explain the "very obvious difference"?
    – anouk
    Jun 9, 2022 at 17:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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