hace dos años, desde 2020, durante el verano: locating events in time
English "ago" comes after the time; Spanish hace comes BEFORE it. This single difference causes endless mistakes.
Llegué hace dos horas. (I arrived two hours ago.)
Hace tres años visitamos Perú. (Three years ago we visited Peru.)
Pattern: hace + time + indefinido. Never put hace after the time expression.
Desde + a date/moment = since. Desde hace + a duration = for. And crucially, Spanish uses the present tense where English uses "have been".
Vivo aquí desde 2020. (I have lived here since 2020.)
Estudio español desde hace dos años. (I have been studying Spanish for two years.)
English speakers' trap: "I have lived here for 2 years" → Vivo aquí desde hace 2 años — present tense, because the action continues.
Durante covers both English "during" and "for" with finished durations.
Vivimos en Roma durante cinco años. (We lived in Rome for five years — finished.)
Durante el verano trabajo en un hotel. (During the summer I work in a hotel.)
Compare: finished period → durante + indefinido; still continuing → desde hace + present.
Parts of the day take por (no clock time) or de (with clock time).
Por la mañana estudio. (In the morning I study.)
La clase es a las diez de la mañana. (The class is at ten in the morning.)
Por la noche vemos una serie. (At night we watch a series.)
Never "en la mañana" in Spain — it's por la mañana (Latin America does say en la mañana, but learn the Castilian norm first).
Three more tools to place events precisely.
hasta = until — Trabajo hasta las seis. (I work until six.)
dentro de = in (future) — Vuelvo dentro de una hora. (I'll be back in an hour.)
a partir de = from... on — A partir de mañana, dieta. (From tomorrow on, diet.)
Trap: English "in an hour" (future) is dentro de una hora — NOT "en una hora", which means it takes an hour.
Traps for English speakers
These are the errors English speakers make most often.