【GIU 11 ~ 12】日本語解説 現在完了 期間を表す (How Long Have You Been...?)、When....Since...How Long...
前回の記事では現在完了や現在完了進行形を学んできました。この記事では現在完了を使いながら「期間」を表記するさいによく使われる「How long have you been…?」「When…」「Since…」の解説を行います。
「結婚30周年なんです」現在完了形を使える
結婚30周年なんです、という場合にも現在完了形が使えます。現在完了形は「過去のある時点で始まり、まだ続いていること」に使う文法でしたね。
How long have you been married?
We have been married for 30 years.
ご結婚されてどれくらいなのですか?
私たちは結婚して30年になります。
過去のある時点で結婚をして、結婚している状態が続いているので現在完了形が使えるのですね。
他にもこのように使われることがよくあります。
He has been in hospital for a few weeks.
彼は数週間入院していますよ。
We have known each other for 5 years.
私たちは知り合って5年です。
How long have you lived in Japan?
どれくらいの期間日本に住んでいるのですか?
現在完了進行形の使い方
現在完了進行形は、現在完了+進行形なので「過去のある時点から今まで続いていること、それが現在進行形であること」に対して使うことができます。
How long have you learning English?
I have been learning English for 5 years.
英語を学んでどれくらいですか?
英語を5年間学んでいます。(まだ学んでいる最中)
It has been raining for the last few weeks.
ここ数週間ずっと雨が降り続けています。
I have been working in this company for 20 years.
私はここの会社で20年働いています。
注意点:現在完了進行形に使えない動詞 know,likeなど
動詞の中には、現在完了進行形に使えない動詞もあります。
I have know him for long time.
彼とは長い付き合いだ。
I have liked vegetables since I was kid.
子どものことから野菜は好きですよ。
現在完了形、現在完了進行形におけるLive, Workの使い方
動詞 Live、Workにおいては現在完了形または現在進行形を使っても同じ意味を表すことができます。
I have lived in Japan.
I have been living in Japan.
私は日本に住んでいます。
How long have you worked in this company?
How long have you been working in this company?
この会社ではどれくらい働いているのですか?
現在完了形であらわす「〜の期間〜していない」
I haven't seen my family since last summer.
去年の夏以来、家族には会っていません。
She hasn't traveled overseas for ages.
彼女はもう何年も海外旅行に行っていない。
FOR と SINCEの使い分け
FORは「〜の間」、SINCEは「〜から」と学びます。例文を通して違いを確認してみましょう。
FOR:期間
I've ( I have ) been waiting for two hours.
2時間も待ちぼうけしている。
I haven't seen my parents for a long time.
長いこと両親に会っていない。
I have waited for a week.
1週間も待った。
I have run for 20 minutes.
20分の間走った。
I have learned it for 6 months.
6ヶ月学んだ。
I have used this for ages.
長年愛用した。
I haven't had snacks for 5 days.
お菓子を5日間我慢した。
I have lived here for 10 years.
ここ引っ越して10年が経った。
I haven't traveled overseas for years.
もう何年も海外旅行に行っていない。
FORは省略可能(否定文以外)、代わりにINを使うことも可能(否定文)
これは豆知識なのですが、FORは肯定文、疑問文では省略が可能です。これを覚えておくのは大変なので是非ご自身の状況に当てはめて例文を作り、例文ごと覚えてしまいます。否定文ではFORの代わりにINを使うこともできます(あまり日常生活では聞いたことがありませんが)
We have married for 20 years. = We have married 20 years.
私たちは結婚をして20年になります。
We haven't traveled overseas for 5 years.
私たちは5年間海外旅行に行っていません。
We haven't had a holiday in 10 years. (= for 10 years)
もう10年も休暇を取っていません。
SINCE:期間の始まり
I have been awaken since 6 am.
今朝6時から起きています。
He has lived here since last spring.
彼は春からここに住んでいます。
I haven't seen him since this morning.
今朝から彼を見かけていません。
The problem have lasted since this Monday.
その問題はこの月曜日から続いています。
We have known each other since 2002.
私たちは2002年から知り合いです。
FOR + ALL の組み合わせは使えない
意外な文法ルールです。FOR と ALLは一緒には使えません。例文を何度も繰り返して覚えてしまいます。
I have been here all the time.
私はずっとここにいますよ。
I have learned English all my life.
私はずっと英語を学んできています。
How long と When の使い分け
How long =「どれくらいの期間」 When = 「いつ」と学びます。どのように使い分けられているか例文を見てみましょう。
When did you two meet at first time?
We met in Japan.
How long have you know each other?
We have known each other for 10 years.
お二人が初めて出会ったのはいつですか?
日本で出会いました。
お知り合いになってどれくらいですか?
知り合って10年になります。
◯◯してから◯◯年になりますの他の言い方
「ここに引越し来てから3年になります」「この会社に勤めて10年になります」「結婚をして5年になります」と英語で言いたいときはどのように言えるのでしょうか。「過去のある時点で始まって今も続いている状態」を表現できる現在完了形を使うことができます。例文を見てみましょう。
It has been two years since I visited Tokyo Disney Land last time.
It's two years since I visited Tokyo Disney Land last time.
前回東京ディズニーランドを訪れてから2年になります。
It's (It has) been ages since I went to Hokkaido.
It's ages since I went to Hokkaido.
北海道に行くのは何年ぶりだろう。
How long has it been since our daughter graduated from college?
How long is it since our daughter graduated from college?
娘が大学を卒業して何年になるんだろう?