Use for com uma duração de tempo, para dizer quanto tempo: for five years, for a week, for two hours.
for + uma duração de tempo
I have lived here for five years.
She has worked there for six months.
We have known each other for a long time.
Experimente: She has worked at the clinic ___ six months. (for / since / from) Resposta: for — Six months é uma duração de tempo (quanto tempo), então use for: for six months. "Since" é para um ponto de partida (since January), e "from" não se usa assim com present perfect.
since + um ponto de partida
Use since com um ponto no tempo, para dizer quando começou: since Monday, since 2019, since I was a child.
I have lived here since 2019.
She has worked there since January.
We have known each other since school.
Experimente: Hiroshi has lived in Haffenville ___ 2019. (since / for / from) Resposta: since — 2019 é um ponto de quando começou, então use since: since 2019. "For" é para uma duração (for five years), e "from" precisaria de um "to" depois.
Ainda é verdade agora: have / has done
Com for e since, a coisa começou antes e ainda é verdade agora, então use have / has + o particípio, não o presente ou o passado simples.
I have studied English for two years. (I still study it.)
We have stayed at this hotel since Friday.
Camila has lived here since she was young.
Not "I live here for three years." — say "I have lived here for three years.". Começou antes e ainda é verdade, então use have lived, não o simples "live".
Experimente: We ___ each other since school. (have known / know / knew) Resposta: have known — Começou na escola e ainda é verdade agora, então use have known. "Know" é só o presente, e "knew" soa terminado, como se você não conhecesse mais essa pessoa.
Dizendo não e perguntando How long?
Para dizer não, coloque n't em have/has: haven't (have not) / hasn't (has not) + o particípio. Para perguntar quanto tempo, comece com How long have / has …?
I haven't seen Camila since Monday.
He hasn't lived here for long.
We haven't lived here since we were children — only since last year.
How long have you lived in Haffenville?
How long has she worked at the clinic?
Not "How long you have lived here?" — say "How long have you lived here?". Numa pergunta, have vem antes de you: How long have you lived…?
Experimente: ___ have you lived in Haffenville? (How long / How much / How many) Resposta: How long — Para perguntar sobre o tempo do começo até agora, use How long have / has …? "How much" pergunta sobre quantidade e "How many" pergunta sobre número, não sobre duração de tempo.
Experimente: I ___ seen Camila since Monday. (haven't / don't / didn't) Resposta: haven't — O particípio (have + seen) faz o negativo com haven't / hasn't: I haven't seen. "Don't" e "didn't" são para o presente e o passado simples, não para have/has + o particípio.
for ou since? (checagem rápida)
Pergunte a si mesmo: é uma duração de tempo ou um ponto de partida? Uma duração (quanto tempo) → for. Um ponto de quando começou → since. Dica: se você pode dizer "the last…" na frente (the last five years), geralmente é for.
for two weeks, for an hour, for ages → a length → for
since Tuesday, since 9 o'clock, since we met → a starting point → since
I've been busy for three days. / I've been busy since Monday.
Not "I have known her for last year." — say "I have known her since last year.". "Last year" é um ponto de partida (quando começou), então use since, não for.
Experimente: Lars has played the guitar ___ ten years, and in a band ___ last summer. (for … since / since … for / for … for) Resposta: for … since — Ten years é uma duração → for. Last summer é um ponto de partida → since. Uma duração de tempo pede for; um ponto de quando começou pede since.