Have been + -ing : la durée qui se voit
Have/has been + -ing traduit nos tournures « ça fait X temps que... » et « depuis » avec insistance sur l’activité.
I’ve been waiting for two hours! (Ça fait deux heures que j’attends !)
It has been raining all day. (Il pleut depuis ce matin.)
Encore une fois : le français met le présent (« j’attends »), l’anglais non.
Aussi pour expliquer un état présent par une activité récente — même terminée.
You’re out of breath. Have you been running? (Tu es essoufflé. Tu as couru ?)
Her eyes are red — she’s been crying.
Continu → la durée/l’activité. Simple → le résultat/le bilan chiffré.
I’ve been reading this book for a week. (l’activité dure)
I’ve read three books this month. (bilan : 3 livres finis)
Un nombre de fois ou de choses accomplies → toujours le simple.
La question de la durée en cours : How long have you been + -ing ?
How long have you been learning English? (Depuis combien de temps apprends-tu l’anglais ?)
→ I’ve been learning English for three years.
Know, be, have (posséder), like... restent au present perfect simple, même avec for/since.
I’ve known her for ten years. (jamais « been knowing »)
We’ve had this car since 2018.
Les pièges classiques pour les francophones
Voici les erreurs que les francophones font le plus souvent sur ce point.