現在完了とは
主語+have(has)+過去分詞・・・.
現在完了には 継続、経験、完了、結果などの意味がある。
語順が
主語+have(has)+過去分詞+・・・
となることがすべてに共通している。
【意味】
①継続「ずっと~している」
②経験「~したことがある」
③完了、結果「~してしまった」「~したところだ」
それぞれの用法は使われる単語によって判断する。
①継続でよく使う単語 … for, since, How long
②経験でよく使う単語 … before, once, twice, three times, ever, never
③完了、結果でよく使う単語 … just, already, yet
継続「ずっと~している」
現在完了(継続)の意味
「(ずっと)~している」 (過去に始まった動作が今も続いていることを表す。)
肯定文
I have played soccer for two years.
「私は2年間サッカーをしている」
(サッカーを始めたのが2年前で、現在もサッカーをしている。 )
Ken has been here since last week.「ケンは先週からここにいる。」
(主語が3人称単数ならhasになる。)
【for とsince】
継続「ずっと~している」の用法では
for~(~間)やsince~(~以来)が使われる。
forの後ろは期間を表す言葉になる。
Ken has been sick in bed for two weeks.
例)for a long time 長い間 for five days 5日間 for an hour1時間 など
sinceの後ろは始まった時点になる。
I have been busy since last Sunday.
例)since yesterday 昨日から since 2001 2001年から など
また、sinceは接続詞としても使う。
例) since I was seven 私が7歳のときから
since,for チェックテスト
否定文・疑問文
否定文を作るときにはhave(has)のうしろにnotが入る。
Yumi hasn't eaten anything for two days. ユミは2日間何も食べていない。
疑問文を作るときはhave(has)が文頭にでる。
Have you lived in Tokyo for two years?
あなたは東京に2年間住んでいるのですか。
Yes, I have. / No, I haven't.
はい、住んでいます。/いいえ、住んでいません。
期間をたずねる場合
How long ~?を使う。
「どのくらいの間~?」「いつから~?」
How long have you been sick? あなたはいつから病気なのですか。
Since yesterday. 昨日からです。
※継続の用法のときに普通When ~?や~ago は使わないので注意
例文
Ken has been busy for three days. ケンは3日間(3日前から)いそがしい。
We have waited for him for an hour. 私達は1時間彼を待っている。
I have learned English since I was a child. 私は子供のころからずっと英語を習っている。
She has been tired since morning. 彼女は朝から疲れている。
Have you worked here for seven years? あなたはここで7年間働いているのですか。
They haven't played soccer since last month. 彼らは先月からサッカーをしていません。
How long have you studied English? あなたはどのくらいの間英語を勉強していますか。
For three years. 3年間です。