[現在完了形] + for + [期間の長さ]
[現在完了形] + since + [始まった時点]
For と since は How long?(どのくらいの間?)に答えます。現在完了形と使って、あることが今までどのくらい続いているかを表します。
日本語では「ここに5年住んでいます」と「〜ている」の形で言えますが、英語でこれを現在形(I live here for five years)にすると間違いです。過去から今まで続いていることには現在完了形(have + 過去分詞)を使います。
For + 期間の長さ:for ten minutes, for three days, for a long time, for ages。日本語の「〜の間」「〜年間」にあたります。
for はほかの時制とも使えます:I lived in Tokyo for a year.(東京に1年住んでいました。今は住んでいません。)
Since + 始まった時点:since Monday, since 9 o'clock, since 2019, since last summer, since I was a child。日本語の「〜から」「〜以来」にあたります。日本語では「5年前から」と言えますが、英語では since five years ではなく for five years です。
How long have you…? で尋ねます。質問も現在完了形です。
いちばん多いのは、for や since と一緒に現在形を使う間違いです。