時間の経過を表す現在完了の表現って、結局何があるの?
「Sが…してから~になる」と訳される現在完了を使った文は、たびたび目にすることがあるかと思います。この訳になる表現は、実はいくつか存在すること、知っていましたか?知ってたよ!という人も、ちょっと曖昧…という人も、ここでおさらいしておきましょう!
まずは一つ目。
「It has been[is] ~since S+V」
経過した時間を「it has been」または「is」で表し、sinceにつなげる表現です。
例)It has been[is] five years since I have come here.
(私がここに来てから5年になる。)
It is[has been] two weeks since she left here.
(彼女がここを去ってから2週間になる。)
is とhas beenはニュアンスにおいて差はありませんが、問題で現在完了形での回答が求められているときには、has beenを使った方が無難です。
主語がitで単数になりますので、have ではなくhasを使うようにしましょう。
もうひとつがこちら。
「~have passed since S+V」
経過した時間を主語として「has passed」という動詞を用いてsinceにつなげる表現です。
例) Five years have passed since I came here.
(私がここに来てから5年が経った。)
A year has passed since my friend has returned to Japan.
(友達が日本へ戻ってから1年が経った。)
こちらは「five years passed since~」のように過去形にすることはできません。必ず現在完了形(have has + 過去分詞)を使います。
そして、こちら。この表現はあまり馴染みがないかも?
「人(動物など)+has[have] been dead for 時間」
My grandmother has been dead for two years.
(私の祖母が亡くなってから2年が経つ。)
直訳すると「私の祖母は2年間亡くなっている」となるのですが、ニュアンスとしては
It has been [is] two years since my grandmother has passed away.
Two years have passed since my grandmother has passed away.
と同じになるのです!英語ならではの表現ですね。ここもよく試験で問われるので、頭に入れておきましょう!
現在完了を使った表現の中で、試験で問われるのは主にこの3パターンになります。ノートにまとめておいて、わからなくなったときに自分で確認できるようにしておくと便利です。
それぞれの表現の形に注意して、かならず得点できるようにしましょう!