現在完了③ 継続 — ずっと〜している
「過去のある時点から今までずっと〜している」という継続を表すのが現在完了の継続用法。「3年前から今まで日本に住んでいる」のような表現に使います。
基本ルール
形は同じく have / has + 過去分詞。よく使う前置詞・副詞は for(〜の間)/ since(〜以来)/ How long(どれくらい)。
- for + 期間:for three years(3年間)、for a long time(長い間)
- since + 起点:since 2020(2020年から)、since yesterday(昨日から)、since I was a child(子供の頃から)
「How long have you 〜?(どれくらい〜していますか)」は継続期間を尋ねる頻出疑問文。
継続用法でよく使う動詞は状態動詞:live, know, want, have(所有)、be など。動作動詞は次の進行形を使います。
I have lived in Tokyo for ten years.(東京に10年間住んでいる)
She has been busy since last week.(彼女は先週からずっと忙しい)
How long have you known him?(彼をどれくらい知っているの)
→ For five years. / Since 2020.
We have been friends since we were children.(子供の頃からの友達だ)
注意点
① for と since の使い分け:for は期間の長さ(for three years, for a long time)、since は起点となる時点(since 2020, since yesterday)。「3年前から」は since three years ago(× for three years ago)または for three years(〜の間)。
② since の後には過去の時点を表す名詞または過去形の節が来る:since 2020 / since last year / since I was 10 years old / since he came to Japan。
③ 状態動詞(live, know, want, like, have)は現在完了で継続を表せるが、動作動詞(study, play, work, run)は現在完了進行形(have been + ing)を使うのが普通:「I have been studying English for two hours.」
④ 否定文:have not / has not + 過去分詞 + for/since 〜。「I have not seen him for a long time.(長いこと彼に会っていない)」
- for + 期間(for three years)
- since + 起点(since 2020 / since yesterday)
- How long 〜? で継続期間を質問
- 状態動詞は現在完了、動作動詞は完了進行形
- since の後は過去の時点
練習
- 「私は5年間英語を勉強している」を英語で書きなさい(study を使う場合は完了進行形でも可)。
- 「彼らは先週から日本に滞在しています」を英語で書きなさい。
- 「あなたはどれくらい日本に住んでいますか」を英語で書きなさい。