B1 · The past
Present perfect or preterite?
If the stretch of time reaches today, the perfecto is used.
At a glance
- Remember
- If the stretch of time reaches now, the perfecto — otherwise the indefinido.
- When
Which form when — Topics that explain not one form but the choice between two.
- Form
- Hoy he trabajado mucho.today
- Signal words
- hoy
- esta semana
- ya
- todavía no
- alguna vez
- Trap
- Wrong:Ayer he comido en un restaurante nuevo.Right:Ayer comí en un restaurante nuevo.
Your turn
5 exercises on this topic. Your answers are checked in the browser; none of them leaves your device.
Now write it yourself4 sentences on this topic, typed and checked instantly.
The form
How the forms are built
Each row gives the meaning first, then the form in Spanish. The colours show what changes from one form to the next.
stem (regular) tense marker person ending ending for tense and person auxiliary verb negation question marker
| today | Hoy he trabajado mucho. |
| this week | Esta semana hemos tenido suerte. |
| yesterday | Ayer trabajé mucho. |
| a year | En 2019 viajé a Perú. |
| already / not yet | ¿Ya has comido? — Todavía no. |
| life experience | Nunca he estado en Asia. |
| trabajar, Perfecto: I have worked | (yo) he trabajado |
| you have worked | (tú) has trabajado |
| he, she has worked; you (formal) have worked | (él, ella, usted) ha trabajado |
| we have worked | (nosotros) hemos trabajado |
| you (plural) have worked | (vosotros) habéis trabajado |
| they have worked; you (formal) have worked | (ellos, ellas, ustedes) han trabajado |
| trabajar, Indefinido: I worked | (yo) trabajé |
| you worked | (tú) trabajaste |
| he, she worked; you (formal) worked | (él, ella, usted) trabajó |
| we worked | (nosotros) trabajamos |
| you (plural) worked | (vosotros) trabajasteis |
| they worked; you (formal) worked | (ellos, ellas, ustedes) trabajaron |
The rules one by one
The form this topic is aboutThe word that calls for it
If the stretch reaches today, the perfecto is used.
Este mes he leído tres libros.I have read three books this month.
If the stretch is closed, the indefinido is used.
El mes pasado leí tres libros.I read three books last month.
ya, todavía no and nunca pull the perfecto after them.
Todavía no he terminado.I have not finished yet.
An experience with no time expression takes the perfecto.
¿Has estado alguna vez en México?Have you ever been to Mexico?
Example sentences
Hoy me he levantado temprano.I got up early today.
Ayer me levanté tarde.I got up late yesterday.
Nunca he probado el sushi.I have never tried sushi.
El verano pasado fuimos a Grecia.We went to Greece last summer.
6 more example sentences
Esta mañana he perdido el autobús.I missed the bus this morning.
En 1999 se mudaron a Madrid.They moved to Madrid in 1999.
¿Ya has hablado con él?Have you spoken to him yet?
Anoche cenamos muy tarde.We had dinner very late last night.
Este año no he viajado nada.I have not travelled at all this year.
Hace dos años cambié de trabajo.I changed jobs two years ago.
The trap English speakers fall into
Watch out
This page is where English helps most, and it still trips people up in one place: Latin America uses the indefinido where Spain uses the perfecto, so Hoy comí tarde is perfectly normal in Mexico. In Spain it is Hoy he comido tarde. Both are correct Spanish; only mixing them within a text is not.
The full explanation
Read it all · about 1 min
Both forms tell of something finished. The difference is the stretch of time: if it reaches into the present, the pretérito perfecto is used — hoy, esta semana, este año, últimamente, ya, todavía no. If it is closed, the indefinido — ayer, el año pasado, en 1998. English draws the same line, which is the best help on this page.
So Hoy he comido tarde is right and Ayer he comido tarde is wrong: «yesterday» is outside today's stretch — just as «I have eaten late yesterday» is wrong in English.
With no time expression it depends on whether the consequence is still felt: He perdido las llaves means I do not have them now. Perdí las llaves reports an event from back then.
How well do you know this topic?
This is filled in automatically after you practise. You can change it here at any time.
Next on the path: 103 · Past participle: hecho, dichoBack to the learning path
The verbs on this page, in every form: haber · pasar · leer · levantarse · estar · terminar · probar