2026/7/7 公開
この記事は、Quoraで公開した回答を再編集したものです(元の回答)。
Did you 〜 yet? と Have you 〜 yet? の違い
Q. Did you book the hotel yet?とHave you booked the hotel yet?で何か意味がちがいますか?
どちらも日本語にすれば「ホテルもう予約した?」になってしまうので、違いが見えにくい2つの表現です。ですが厳密に言うと、この2つは頭の中で見ている「時間」がそもそも違います。
Did you 〜 は「あの時」を指差している
Did you … は、原則として「ある特定の過去の期間」を頭に思い浮かべながら、その時にやったかどうかを聞く言い方です。話し手の中に、すでに具体的な「あの時」がある状態ですね。
たとえば友達に本を貸したとします。なかなか読んでもらえず「そろそろ返してよ」と催促したら、「ごめん、週末に読むから!」という返事。そして翌週の月曜、貸した相手は Did you read the book? と聞くかもしれません。ここで相手の頭にあるのは、まさに「週末に読む」と宣言されたあの時のことです。だから Did you になるわけです。
Have you 〜 は「今の状態」を聞いている
一方 Have you … は、過去のいつやったかにはあまり関心を払いません。関心があるのは、話し手が「今現在」、その動作をすでに終えた状態にあるかどうかです。時系列の一点ではなく、現在から振り返った完了状態を尋ねているイメージです。
カジュアルな英語では区別が緩む
ここまでが原則ですが、現実の英語は少しややこしくて、カジュアルなアメリカ英語ではこの区別があまり厳密に守られません。本来なら Have you を使うべき場面で、Did you が使われることもよくあります。
たとえば人と人を引き合わせようとしたとき、実はその2人がどちらも人見知りだった、というようなケース。「あれ、彼に会ったことあるの?」と聞きたいなら、本来は Have you met him? が"正しい"はずですが、日常会話では普通に Did you meet him? が使われたりします。
第二言語話者としての向き合い方
とはいえ、こうした地域差や口語的なゆらぎは、第二言語として英語を学ぶ立場ではそこまで気にしなくてよいと思います。まずは原則どおり、Did you は「あの時」を、Have you は「今の完了状態」を指す、という理解で覚えておけば十分です。