“Since” tells us when something started, while “for” tells us how long it has lasted.
「since」と「for」はどちらも現在完了でよく使い、日本語では「〜から」「〜の間」と訳します。
結論から言うと、since の後ろは「始まった時点」(2020年、月曜日、子どものころ)、for の後ろは「期間の長さ」(3年、2週間、長い間)です。「いつから?」に答えるのが since、「どれくらい?」に答えるのが for と考えれば迷いません。
ひと目でわかる比較表
| 項目 | since | for |
|---|---|---|
| 意味 | 〜から(ずっと)、〜以来 | 〜の間 |
| 後ろに来るもの | 始まった時点(日付・年・出来事) | 期間の長さ(数字+時間の単位など) |
| 答える質問 | 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 ten | 10歳のときから | for two weeks | 2週間 |
短い会話で確認
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 +過去形の文 の形です。
よくある質問
- Qhave 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 の解説記事 へ。
- Qsince には「〜なので」という意味もありますか?
- A
あります。Since it was raining, we stayed home.(雨が降っていたので家にいた)のように、理由を表す接続詞としても使います。時を表す since と区別するには、文の時制と意味の流れを見ましょう。
- Qfor は過去形の文でも使えますか?
- A
使えます。I lived in Canada for two years.(2年間カナダに住んでいた。今はもう住んでいない)。一方 since は「今まで続いている」ことを表すので、ふつうは現在完了と使います。「以前は〜だった」の言い方は previously・before・formerlyの違い でまとめています。
もっと詳しく知りたい人へ
それぞれの単語の意味・語源・例文は、次の記事でくわしく解説しています。


コメント