Utilise for avec une durée, pour indiquer combien de temps : for five years, for a week, for two hours.
for + une durée
I have lived here for five years.
She has worked there for six months.
We have known each other for a long time.
Essayez: She has worked at the clinic ___ six months. (for / since / from) Réponse: for — Six months est une durée (combien de temps), donc utilise for : for six months. « Since » s’utilise pour un point de départ (since January), et « from » ne s’emploie pas avec le present perfect ici.
since + un point de départ
Utilise since avec un moment précis, pour indiquer quand cela a commencé : 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.
Essayez: Hiroshi has lived in Haffenville ___ 2019. (since / for / from) Réponse: since — 2019 est un point de départ précis, donc utilise since : since 2019. « For » s’emploie pour une durée (for five years), et « from » nécessiterait un « to » ensuite.
C’est toujours vrai maintenant : have / has done
Avec for et since, l’action a commencé avant et reste toujours vraie maintenant ; utilise donc have / has + le participe passé, et non le present simple ou le past simple.
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.". L’action a commencé avant et reste toujours vraie, donc utilise have lived, pas la forme simple « live ».
Essayez: We ___ each other since school. (have known / know / knew) Réponse: have known — L’amitié a commencé à l’école et dure toujours, donc utilise have known. « Know » ne renvoie qu’au présent, et « knew » sonne comme une histoire passée, comme si tu ne les connaissais plus.
Dire non et demander How long?
Pour dire non, ajoute n't à have/has : haven't (have not) / hasn't (has not) + le participe passé. Pour demander depuis combien de temps, commence par 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?". Dans une question, have se place devant you : How long have you lived…?
Essayez: ___ have you lived in Haffenville? (How long / How much / How many) Réponse: How long — Pour poser une question sur la durée depuis le début jusqu’à maintenant, utilise How long have / has …? « How much » interroge sur la quantité et « How many » sur le nombre, pas sur une durée.
Essayez: I ___ seen Camila since Monday. (haven't / don't / didn't) Réponse: haven't — Avec le participe passé (have + seen), la négation se forme avec haven't / hasn't : I haven't seen. « Don't » et « didn't » servent pour le present simple et le past simple, pas pour have/has + participe passé.
for ou since ? (vérification rapide)
Demande-toi : est-ce une durée ou un point de départ ? Une durée (combien de temps) → for. Un point où cela a commencé → since. Astuce : si tu peux dire « les derniers / dernières… » devant (the last five years), c’est généralement 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 » est un point de départ (le moment où cela a commencé), donc utilise since, pas for.
Essayez: Lars has played the guitar ___ ten years, and in a band ___ last summer. (for … since / since … for / for … for) Réponse: for … since — Ten years est une durée → for. Last summer est un point de départ → since. Une durée prend for ; un point de départ prend since.