Since et for expriment tous deux la durée d'une situation qui dure encore. Mais ils répondent à deux questions différentes : since à « depuis quand ? », for à « depuis combien de temps ? ».

La difficulté vient du français, qui traduit les deux par « depuis » : la distinction entre un point de départ et une durée disparaît.

01
Since : point de départ
Suivi d'un moment précis (date, heure, événement) : le début d'une situation qui se poursuit.
I have worked here since 2019. Je travaille ici depuis 2019.
02
For : durée
Suivi d'une période (three years, a long time) : combien de temps la situation dure.
I have worked here for five years. Je travaille ici depuis cinq ans.
Le test « depuis quand ? / depuis combien de temps ? »

Depuis quand ?la réponse est un moment (une date, un événement) : since Depuis combien de temps ?la réponse est une durée (un nombre + une unité) : for

Since introduit toujours un point de départ précis : une date, une heure, un événement ou une proposition. La situation a commencé à ce moment-là et dure encore.

Préposition, il est suivi d'un nom ; conjonction, il introduit une proposition au prétérit. Dans les deux cas, le verbe principal est au present perfect (simple ou continu).

Since + date, heure
present perfect + since + date, heure
She has lived in London since 2015.
The store has been open since 9 a.m.
Since + événement
present perfect + since + événement
Nothing has changed since the merger.
Sales have risen since the launch.
Since + proposition au prétérit
present perfect + since + sujet + prétérit
Prices have risen since the war ended.
I have felt better since I changed jobs.
Since + present perfect continu
have been + V-ing + since + point de départ
They have been negotiating since March.
I have been waiting since 7 o'clock.
01
Since + date ou période
Très courant avec une année, une décennie ou une période historique.
since 1990, since the 1980s, since the Industrial Revolution depuis 1990, depuis les années 1980, depuis la révolution industrielle
02
Since + événement
Avec un événement qui a déclenché un état ou un changement : crise, élection, accord.
since the financial crisis, since the deal was signed depuis la crise financière, depuis la signature de l'accord
03
Since + heure
Avec une heure, since marque le début exact de l'action.
since 8 a.m., since midday, since dawn depuis 8 h, depuis midi, depuis l'aube
Since, adverbe : employé seul, since renvoie à un moment déjà mentionné : He left the company in 2020 and hasn't been heard from since. (et depuis, on n'a plus de nouvelles)

For est toujours suivi d'une durée : un nombre et une unité de temps, ou une expression comme a long time, ages, years. Il ne renvoie pas à un moment mais à une étendue de temps.

Contrairement à since, for s'emploie à tous les temps : prétérit pour une situation terminée, futur pour une durée à venir.

For + nombre + unité
for + three days, two years…
She has worked here for three years.
The talks lasted for two weeks.
For + durée vague
for + a long time, ages, centuries
I haven't seen him for ages.
This tradition has existed for centuries.
For + prétérit : situation terminée
prétérit + for + durée
She worked at IBM for ten years.
They lived in Paris for a decade.
For + futur
will + for + durée
The project will run for six months.
The contract will be valid for two years.
Since ne suit jamais une durée : I have worked here since five years. → I have worked here for five years. Since est toujours suivi d'un moment précis.

Le temps du verbe dépend du sens. La règle la plus connue (present perfect) ne couvre pas tous les cas : le present perfect continu insiste sur la continuité, le prétérit avec for marque une situation terminée.

Situation
Avec since
Avec for
Temps
Situation en cours (état)
She has lived here since 2010.
She has lived here for 14 years.
present perfect
Action continue, en cours
He has been working since 8 a.m.
He has been working for 6 hours.
present perfect continu
Situation terminée
impossible
She worked there for 5 years.
prétérit
Récit au passé
It had been raining since dawn.
It had been raining for three hours.
past perfect (continu)
Durée à venir
rare
The project will run for six months.
futur
Simple ou continu ? I have lived here for ten years présente un état stable ; I have been living here for ten years insiste sur la continuité, parfois avec une idée de provisoire. Avec un verbe d'état (know, like, be, have, own), seul le simple est possible : I have known him since 2015, et non I have been knowing him.

Traduire « depuis » par since à chaque fois est la source de la plupart des erreurs. Voici les cas à retenir.

Erreur
Faux
Correct
Since + durée
I have known her since three years.
I have known her for three years.
Présent avec since / for
I live here since 2010.
I have lived here since 2010.
For + date
I have worked here for 2019.
I have worked here since 2019.
Verbe d'état au continu
I have been knowing him for years.
I have known him for years.
Depuis ou il y a ? « Depuis » (situation qui dure) → since / for + present perfect. « Il y a » (action passée et terminée) → ago + prétérit.
I left Paris three years ago. (il y a trois ans) · I have lived in London for three years. (depuis trois ans)
01
How long… ?
« Depuis combien de temps ? » se dit How long have you… ?, avec le present perfect.
How long have you worked here? Depuis combien de temps travailles-tu ici ?
02
It has been … since
Durée écoulée depuis un événement : it has been (ou it is) + durée + since + prétérit.
It has been three years since I last saw him. Cela fait trois ans que je ne l'ai pas vu.
03
All day, all morning
Avec all day, all week, all my life, on n'emploie pas for.
I've been waiting all morning. J'attends depuis ce matin.
04
For au futur
For fonctionne au futur et au conditionnel, là où since est impossible.
The offer will be valid for two weeks. L'offre sera valable pendant deux semaines.
Deux façons de dire la même chose : It has been three years since I last saw him = I haven't seen him for three years. La première tournure, très idiomatique, se retient bien pour une copie.
In + durée après un superlatif ou une négation : la presse dit « depuis » avec in quand il s'agit du premier, du plus haut ou de rien du tout : the highest level in 35 years (le plus haut niveau depuis 35 ans), no measles death in thirty years. Avec un point de départ, on garde since : the highest since 1991.
Exercice 1 Since ou for ?
01.
The company has been profitable 2018.
→ since (une année : un moment)
02.
She has been CEO almost a decade.
→ for (une durée)
03.
They haven't spoken the argument last spring.
→ since (un événement)
04.
The unemployment rate has been falling three consecutive quarters.
→ for (une durée)
05.
the financial crisis, regulators have tightened oversight.
→ Since (un événement)
06.
I haven't had a proper holiday a very long time.
→ for (une durée vague)
07.
The new regulations have been in force 1 January.
→ since (une date)
08.
Markets have been volatile several months now.
→ for (une durée)
Exercice 2 Mettez le verbe au bon temps
01.
She (work) at the firm since she graduated.
→ has worked (situation en cours ; has been working possible)
02.
He (be) chairman for six years before he resigned.
→ had been (antérieur à un autre fait passé ; was possible)
03.
They (negotiate) for three months when a deal was finally reached.
→ had been negotiating (en cours dans le passé)
04.
The factory (operate) since 1962 and is still running today.
→ has been operating (continue jusqu'à aujourd'hui)
05.
She (know) him since they were at university together.
→ has known (verbe d'état : pas de continu)
06.
The project (run) for two years before it was cancelled.
→ had run ou had been running (terminé avant l'annulation)
Exercice 3 Corrigez la phrase (écrivez-la en entier)
01.
I am working in this company since five years.
→ I have been working in this company for five years.
02.
He didn't call me since last Monday.
→ He hasn't called me since last Monday.
03.
They have been knowing each other since ten years.
→ They have known each other for ten years.
04.
I left university for three years ago.
→ I left university three years ago.
05.
The CEO has been in office since four months.
→ The CEO has been in office for four months.
06.
Since she became the manager, she works very long hours.
→ Since she became the manager, she has been working very long hours.