現在完了におけるforとsinceの違いを書いておきます。
期間の長さを言いたいときに使います。
for+時間の長さ
for two hours(二時間のあいだ)
for three days(三日間)
for five years(五年間)
例
I have lived here for three years.
私はここに三年間住んでいます。
スタートした時点を言いたいときに使います。
since+ある時点
since 2020(2020年から)
since last year(去年から)
since Monday(月曜日から)
since I was a child(私が子どもの頃から)
例
I have lived here since 2020.
私は2020年からここに住んでいます。
同じ内容でも,for と since で言い換えられます。今年2026年とすると,
I have studied English for three years.
私は英語の勉強を三年間している。
I have studied English since 2023.
私は英語の勉強を2023年からしている。
どちらも2026年を基準とすると「3年間ずっと英語を勉強している」ですが,前者は「長さ」に注目,後者は「始まりの年」に注目しています。
- × I have lived here for 2010.
2010 は「長さ」ではなく「時点」なので for は使えません。
→ ○ I have lived here since 2010.:私は2010年からここに住んでいます。 - × I have lived here since three years.
three years は「長さ」なので since は使えません。
→ ○ I have lived here for three years.:私はここに三年間住んでいます。
小中学生の英語サイト英楽 
