現在完了で「期間」を表す since / for の違い・使い分け
現在完了で「ずっと〜している」と言うとき、 since は 始まった時点 (起点)、for は期間の長さを示します。 後ろが「いつから」なのか「どれくらい」なのかで決まります。
現在完了 (have + 過去分詞) とセットで使うのが定番です
since を使うとき
「いつから始まったか」を示します。 後ろには 2020、last year、I was a child のように「時点」を表す語句がきます。 主語+動詞の節も置けます。
例文
I have lived in Tokyo since 2020.
2020 年から東京に住んでいます。
We have known each other since we were kids.
私たちは子供の頃からお互いを知っています。
for を使うとき
「どれくらいの期間」を示します。 後ろには two years、a long time、three 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) を置きます。