スポンサーリンク

sinceとforの違い

sinceとforの違い 使い分け
スポンサーリンク

“Since” tells us when something started, while “for” tells us how long it has lasted.

「since」と「for」はどちらも現在完了でよく使い、日本語では「〜から」「〜の間」と訳します。

結論から言うと、since の後ろは「始まった時点」(2020年、月曜日、子どものころ)、for の後ろは「期間の長さ」(3年、2週間、長い間)です。「いつから?」に答えるのが since、「どれくらい?」に答えるのが for と考えれば迷いません。

スポンサーリンク

ひと目でわかる比較表

項目sincefor
意味〜から(ずっと)、〜以来〜の間
後ろに来るもの始まった時点(日付・年・出来事)期間の長さ(数字+時間の単位など)
答える質問When did it start?(いつから?)How long?(どれくらい?)
よく使う時制現在完了(have +過去分詞)。過去完了も現在完了・過去・未来どれでも
後ろに文を置けるか○(since I was ten)期間の意味では×
発音(IPA)/sɪns//fɔːr/(弱く /fər/)
例文I have lived here since 2020.I have lived here for five years.

イメージでつかむ違い

時間の流れを1本の線で考えると、違いがはっきりします。

  • since は線のスタート地点に旗を立てるイメージ → I’ve known her since elementary school.(小学校のころから彼女を知っている)
  • for は線の長さを定規で測るイメージ → I’ve known her for ten years.(彼女とは10年来の知り合いだ)

同じ事実でも、「いつ始まったか」を言えば since、「どれだけ続いたか」を言えば for になります。2016年から今(2026年)まで住んでいるなら、since 2016 と for ten years はどちらも正しい言い方です。

○×で確認する例文

  • ○ I have studied English since April.(4月から英語を勉強している)
  • × I have studied English for April.(for の後ろは期間の長さ。April は時点)
  • ○ I have studied English for six months.(6か月間英語を勉強している)
  • × I have studied English since six months.(six months は長さなので for)
  • ○ She has been sick since last Friday.(彼女は先週の金曜日から体調が悪い)
  • ○ We talked for two hours yesterday.(昨日は2時間話した。過去形でも for は使える)
  • ○ He has lived in Osaka since he was a child.(彼は子どものころから大阪に住んでいる)
  • × I’ve been here since two hours ago.(会話でまれに耳にするが、標準的な英語では誤り。for two hours か I came here two hours ago と言う)

よくある間違い

1. 「〜から」を現在形で言う

日本語の「〜から住んでいます」は現在形ですが、英語では「過去に始まって今も続いている」ので現在完了にします。

  • × I live in Tokyo since 2015.
  • ○ I have lived in Tokyo since 2015.(2015年から東京に住んでいる)

2. since の後ろに期間の長さを置く

「3年前から」と考えて since three years としてしまう間違いです。長さを言うなら for です。

  • × I have played the piano since three years.
  • ○ I have played the piano for three years.(3年間ピアノを弾いている)
  • ○ I started playing the piano three years ago.(3年前にピアノを始めた。ago は過去形と使う)

3. 「It has been ~ since …」の形を知らない

「〜してから…になる」は、It has been +長さ+ since +過去形の文 で言えます。since の後ろの文は「始まった出来事」なので過去形です。

  • ○ It has been five years since we met.(私たちが出会ってから5年になる)
  • ○ It’s been a long time since I saw you last.(最後に会ってから久しぶりだね)

よく使う組み合わせ(コロケーション)

since意味for意味
since thenそれ以来for a whileしばらくの間
ever sinceそれからずっとfor a long time長い間
since childhood子どものころからfor agesすごく長い間(会話)
since last week先週からfor the past five yearsこの5年間
since I was ten10歳のときからfor two weeks2週間

短い会話で確認

A: How long have you lived in this town?(この町にはどれくらい住んでいるの?)

B: For about eight years. We moved here in 2018.(8年くらいかな。2018年に引っ越してきたんだ)

A: Oh, so you’ve lived here since 2018.(じゃあ、2018年からここに住んでいるんだね)

B: That’s right. I’ve loved this town ever since.(そうなんだ。それからずっとこの町が好きだよ)

確認クイズ

Q
「私は2019年からこの会社で働いている」I have worked at this company ___ 2019. (A) since (B) for (C) from
A

正解は (A) since。2019年は始まった時点なので since です。from は from 2019 to 2022 のように終わりも言うときに使い、現在完了で「今までずっと」を表すときはふつう since を使います。

Q
「私たちは3時間待っている」We have been waiting ___ three hours. (A) for (B) since (C) during
A

正解は (A) for。three hours は期間の長さなので for です。during は during the meeting のように「出来事・期間の名前」を後ろに置きます。

Q
「彼が引っ越してから1年がたつ」It has been a year ___ he moved away. (A) since (B) for (C) ago
A

正解は (A) since。It has been +長さ+ since +過去形の文 の形です。

よくある質問

Q
have been ~ing の文でも since と for を使えますか?
A

使えます。We have been waiting for three hours.(3時間ずっと待っている)、It has been raining since this morning.(今朝からずっと雨が降っている)のように、「今も続いている動作」を言う現在完了進行形でも、時点なら since、長さなら for です。なお、「〜前から」を since ~ ago と言うのは誤りです。ago は過去形の文で使います。くわしくは ago の解説記事 へ。

Q
since には「〜なので」という意味もありますか?
A

あります。Since it was raining, we stayed home.(雨が降っていたので家にいた)のように、理由を表す接続詞としても使います。時を表す since と区別するには、文の時制と意味の流れを見ましょう。

Q
for は過去形の文でも使えますか?
A

使えます。I lived in Canada for two years.(2年間カナダに住んでいた。今はもう住んでいない)。一方 since は「今まで続いている」ことを表すので、ふつうは現在完了と使います。「以前は〜だった」の言い方は previously・before・formerlyの違い でまとめています。

もっと詳しく知りたい人へ

それぞれの単語の意味・語源・例文は、次の記事でくわしく解説しています。

コメント

タイトルとURLをコピーしました