現在完了で「期間」を表す since / for の違い・使い分け

現在完了で「ずっと〜している」と言うとき、 since は 始まった時点 (起点)、for は期間の長さを示します。 後ろが「いつから」なのか「どれくらい」なのかで決まります。

意味の早見表

意味の早見表
単語主な意味
主な意味
始まった時点 (起点)
主な意味
期間の長さ
Point

現在完了 (have + 過去分詞) とセットで使うのが定番です

since を使うとき

「いつから始まったか」を示します。 後ろには 2020last yearI was a child のように「時点」を表す語句がきます。 主語+動詞の節も置けます。

since を使うとき例文

  • I have lived in Tokyo since 2020.

    2020 年から東京に住んでいます。
  • We have known each other since we were kids.

    私たちは子供の頃からお互いを知っています。

for を使うとき

「どれくらいの期間」を示します。 後ろには two yearsa long timethree days のように「期間の長さ」を表す語句がきます。

for を使うとき例文

  • I have studied English for ten years.

    10 年間英語を勉強しています。
  • She has been waiting for an hour.

    彼女は 1 時間待っています。

How long で聞かれたら for / since で答える

「どのくらい〜していますか?」と聞かれたら、 期間で答えるなら for、 起点で答えるなら since を使います。 どちらでも答えられることが多いです。

How long で聞かれたら for / since で答える例文

  • How long have you lived here? — For five years.

    ここにどのくらい住んでいますか? — 5 年間です。
  • How long have you lived here? — Since 2020.

    ここにどのくらい住んでいますか? — 2020 年からです。

間違えやすいポイント

  • I have lived here for 2020.

    I have lived here since 2020.

    2020 は「時点」なので since。for は two years のような「期間の長さ」と組みます。

  • I have known him since five years.

    I have known him for five years.

    five years は「期間」なので for。since の後ろは時点 (2020 / last year / I was a child) を置きます。