The main rule
A situation that began in the past and is still true is told in the present. A starting point takes desde (desde 2020, desde el lunes). A length of time takes desde hace (desde hace dos años), hace ... que or llevar + gerund. All of them mean "for" or "since".
Four ways to say how long
| Structure | Use | Example |
|---|---|---|
| desde + point in time | since when | Vivo aquí desde 2020. |
| desde hace + period | for how long | Vivo aquí desde hace dos años. |
| Hace + period + que + present | for how long, period first | Hace dos años que vivo aquí. |
| llevar + period + gerund or place | for how long, with the verb that counts it | Llevo dos años viviendo aquí. Llevo un mes en Lima. |
| Person | llevar | Example |
|---|---|---|
| yo | llevo | Llevo un año estudiando. |
| tú | llevas | ¿Cuánto tiempo llevas esperando? |
| él, ella, usted | lleva | Ana lleva tres meses aquí. |
| nosotros | llevamos | Llevamos dos años casados. |
| vosotros (Spain) | lleváis | Lleváis mucho tiempo juntos. |
| ellos, ellas, ustedes | llevan | Llevan una hora esperando. |
English has one tool for all of this: "I have lived here for two years" or "since 2020". Spanish splits it by what you give. A date, a day or a month is a point, so use desde: desde 2020, desde el lunes, desde enero, desde ayer. A quantity is a period, so use desde hace: desde hace tres años, desde hace un mes, desde hace mucho tiempo. Never swap them: *desde tres años, *desde hace 2020. After desde you can also put a past event with que: desde que llegué, desde que nos mudamos.
Examples
- Vivo en Valencia desde 2019. I have lived in Valencia since 2019.
- Beatriz toca el piano desde pequeña. Beatriz has played the piano since she was little.
- Tenemos un perro desde hace dos años. We have had a dog for two years.
- Hace tres meses que trabajo en el hospital. I have worked at the hospital for three months.
- Llevo seis meses estudiando alemán. I have been studying German for six months.
- Llevamos una hora esperando el autobús. We have been waiting for the bus for an hour.
- Conozco a Marcos desde que llegué a Córdoba. I have known Marcos since I arrived in Córdoba.
- Llevo una semana en Bogotá. I have been in Bogotá for a week.
The present, not the present perfect
The big difference from English is the tense. English says "have lived" or "have been living"; Spanish says vivo. Estudio inglés desde hace dos años is the normal sentence, and Estoy estudiando inglés desde hace dos años is also fine. In Spain you also hear the perfect with the same meaning: He vivido aquí desde 2020 is correct. The present is the safe default, and the perfect is not wrong.
In much of Latin America you will also hear Vivo aquí hace dos años (hace without desde) and Tengo dos años viviendo aquí (Mexico, Colombia, Venezuela and others). Recognise them; desde hace and llevar are the forms that work everywhere.
Hace dos años and desde hace dos años
Hace dos años alone means "two years ago" and marks a finished moment, so the verb is the indefinido: Llegué a Lima hace dos años (I arrived two years ago). Desde hace dos años looks forward to now and takes the present: Vivo en Lima desde hace dos años (I have lived in Lima for two years). The first answers "when?", the second answers "for how long?". Hace dos años que llegué is also correct and means "I arrived two years ago", while Hace dos años que vivo aquí means "for two years". The tense after que decides.
Questions
Asking how long
- ¿Cuánto tiempo hace que vives aquí? How long have you lived here?
- ¿Cuánto tiempo llevas estudiando español? How long have you been studying Spanish?
- ¿Desde cuándo trabajas aquí? Since when do you work here? (How long have you worked here?)
English uses the present perfect even in these questions; Spanish keeps the present. Answer with a period (Dos años, Desde hace dos años) or with a point (Desde 2022). ¿Desde cuándo...? asks for either.
The negative
With a negative verb, English says "I haven't seen him for a year". Spanish keeps the present, with no before the verb: Hace un año que no veo a mi primo, No veo a mi primo desde hace un año, Irene no come carne desde enero. The idea is "it has not happened for a year", and the structure is the same as in the affirmative.
Llevar and the gerund
Llevar counts the time. It takes a period and then either a gerund (Llevo dos años estudiando) or a place or state (Llevo un mes en Lima, Llevan tres años casados). The gerund ends in -ando or -iendo and never changes: estudiando, viviendo, leyendo, durmiendo. Only llevar changes with the person. The period can also come after the gerund: Llevo estudiando inglés dos años. You can add a starting point: Llevo trabajando aquí desde enero.
Which one to choose
The four structures mean the same, so pick what fits the sentence. For a state (live, know, have, be) use desde or desde hace. For an activity you count, llevar + gerund is very natural. For a negative, Hace ... que no is very common. Later you will meet llevar sin + infinitive (Llevo un año sin fumar) for "I haven't done it for a year".
Common mistakes
Vivo aquí por dos años.Vivo aquí desde hace dos años. "for" is not por here; por means a planned stayHe estado viviendo aquí por dos años.Vivo aquí desde hace dos años. do not calque "have been living"Vivo aquí desde dos años.Vivo aquí desde hace dos años. a period needs desde haceVivo aquí desde hace 2020.Vivo aquí desde 2020. a year or date is a point: desde onlyLlegué a Lima desde hace dos años.Llegué a Lima hace dos años. a finished moment is hace, not desde haceLlevo dos años estudiar inglés.Llevo dos años estudiando inglés. llevar takes the gerundHacen dos años que vivo aquí.Hace dos años que vivo aquí. hace never changes
Questions and answers
How do you say "for two years" in Spanish?
With a verb in the present, use desde hace dos años, hace dos años que or llevar dos años. Do not use por or durante for something that is still going on.
How do you say "since 2020" in Spanish?
Use desde 2020: Vivo aquí desde 2020. For a past event you can also use desde que: desde que llegué.
Can I use the present perfect, as in English?
Sometimes. In Spain He vivido aquí desde 2020 is correct, and it is heard in Latin America too. The present is the default and always works.
What is the difference between hace dos años and desde hace dos años?
Hace dos años is "two years ago" and goes with the indefinido: Llegué hace dos años. Desde hace dos años is "for two years" and goes with the present: Vivo aquí desde hace dos años.
How do I ask "How long have you been learning Spanish?"
Say ¿Cuánto tiempo llevas aprendiendo español? or ¿Cuánto tiempo hace que aprendes español? Both use the present. You can also ask ¿Desde cuándo aprendes español?