現在完了形のセンテンスには、yesterdayのような「時」を意味する単語は基本的に使えないというルールになっていますが、実はtodayやthis week, this month のように「時」を意味する単語なのに使える単語は結構あります。
ここでは、なぜ現在完了にtodayが使えるのに、yesterdayは使えないのかを超分かりやすく解説します。
本来、時を意味する単語は「過去形」に使う。
例えば、「昨日ジョンに会った?」と聞くなら、
Did you see John yesterday? |
と過去形を使います。
Have you seen John yesterday? とは言いません。これはおかしな言い方です。
これ以外にも
Did you see John 10 minutes ago? Did you see John last week? Did you see John a few months ago? |
のように、yesterday, 10 min ago, last week, a few months ago のような過去の時間を意味する言葉を使うのであれば過去形を使い、現在完了ではこれらの時間をくっつけて言いません。
しかし、Todayは現在完了でも使える!
でも、「今日、ジョンに会った?」と聞くなら、
Have you seen John today? |
と過去形、現在完了形、どちらでも言う事が出来ます。
Todayが現在完了で使えて、Yesterdayが使えない仕組み
現在完了というのは、現在と関係ある時にしか使えません。
例えば、
Have you seen John today? というのは、「今日の朝から今現在までにジョンと会ったか?」と聞いてるわけです。「現在まで」という感覚があるから、Todayは現在完了でも使えるわけです。
でもYesterdayはどうでしょう?
Yesterdayは「昨日の朝から昨日の夜までにジョンに会ったか?」と聞いています。つまり「現在まで」という感覚はありませんから、現在完了には使えません。
なので、
Have you seen John this week? も使えます。「今週」つまり、「月曜日の朝から今現在までにジョンに会ったかい?」と現在までの状況を聞いてるわけですから、This weekも使えるわけです。もちろんThis month, This yearなども使えますね。
逆にlast week, last month, last yearなんかはもうすでに過去の事ですから、現在完了では使えないわけです。 10 min ago というのも、「10分前に」と10分前の状況を聞く言葉であって、現在までにという意味はないので、現在完了では使えません。
逆に過去形でtodayは使っていいの?
使えます。先程の
Have you seen John today? Did you see John today? |
この例だったら、例えば、ジョンは職場の同僚で、今日は職場でジョンを見かけなかったとしましょう。仕事が終わって、家に帰った後に、別の同僚から電話がかかってきたとします。
その時にその同僚に「そういえば、今日(仕事中に)、ジョンを見かけたかい?」という意味で使うなら、Did you see John today? と使っても良いですよね。
今日(今日の朝出勤してから、仕事が終わって帰るまでの間の事を聞いている)、つまり過去の事ですから。過去形を使っても良いわけです。
todayだって、その日の晩になれば過去の事ですから過去形で使えますし、逆に今日の朝から今現在までというニュアンスで使いたいなら、現在完了を使えばよいわけです。ようはどちらもOKなわけです。
現在完了で使ってもよい「時」を意味する単語
ようは、today, this week, this month, this year のように、「今現在」も含まれているような単語なら現在完了でも使えます(もちろん過去形でも使えます)。
その単語が使えるかどうかは「今現在まで」というニュアンスを含める事が出来るかで判断すれば良いわけです。
迷ったら、「今現在まで」という事を思い出してみてくださいね。