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

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

使い分け早見表
単語使い方
使い方
始まった時点 (起点) を示す
使い方
期間の長さを示す
Point

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

since を使うとき

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

例文

I have lived in Tokyo since 2020.

2020 年から東京に住んでいます。

We have known each other since we were kids.

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

for を使うとき

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

例文

I have studied English for ten years.

10 年間英語を勉強しています。

She has been waiting for an hour.

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

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

「どのくらい〜していますか?」と聞かれたら、 期間で答えるなら 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) を置きます。