現在完了とは
主語+have(has)+過去分詞・・・.
現在完了には 継続、経験、完了、結果などの意味がある。
語順が
主語+have(has)+過去分詞+・・・
となることがすべてに共通している。
【意味】
①継続「ずっと~している」
②経験「~したことがある」
③完了、結果「~してしまった」「~したところだ」
それぞれの用法は使われる単語によって判断する。
①継続でよく使う単語 … for, since, How long
②経験でよく使う単語 … before, once, twice, three times, ever, never
③完了、結果でよく使う単語 … just, already, yet
継続「ずっと~している」
現在完了(継続)の意味
「(ずっと)~している」 (過去に始まった状態が今も続いていることを表す。)
肯定文
I have lived here for two years.
「私は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が入る。
It hasn't rained here since last week.
ここでは先週から雨が降っていない。
疑問文を作るときは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 since last Thursday. ケンは前の木曜日からずっといそがしい。
We have wanted to visit Hokkaido for two months. 私達は2ヶ月間ずっと北海道を訪れたいと思っています。
I have had this dictionary since I was a child 私は子供の頃からこの辞書を持っています。
She has been tired since morning. 彼女は朝から疲れている。
Have you stayed here for seven years? あなたはここに7年間滞在しているのですか。
They haven't slept since yesterday. 彼らは昨日から寝ていません。
How long have you belonged to swimming club? あなたはどのくらいの間,水泳クラブに所属していますか。
For three years. 3年間です。