Of all the grammar points where peninsular Spanish parts ways with Latin American Spanish, this is the one you will hear within an hour of arriving in Madrid. Hoy he ido al gimnasio, esta semana hemos comido fuera tres veces, este año hemos viajado muchísimo — the present perfect everywhere, used for what English would call simple past. Step off a plane in Mexico City and you'll hear hoy fui al gimnasio instead, with the preterite doing the same job. Same language, different default, and the choice is governed by a single piece of logic: whether the time frame containing the action is still open.
This page is the decision guide for that choice in peninsular Spanish. For the focused error-fix companion, see the peninsular preterite-vs-perfect errors page. Here we build the underlying rule, give you the conjugation tables for both tenses, walk through every common time marker, and cover the regional counter-trap that catches learners visiting Galicia or Asturias.
The core distinction in one sentence
Use the present perfect (he comido) for actions inside the current time frame; use the preterite (comí) for actions outside it.
The "current time frame" is the block of time the speaker considers ongoing: today, this morning, this week, this month, this year, my life so far. If the action falls inside one of those frames, peninsular Spanish defaults to the present perfect. If the frame is closed — yesterday, last week, last summer, in 2019, three years ago — Spanish uses the preterite.
Hoy he ido al gimnasio antes del trabajo.
Today I went to the gym before work. (Today is still going → he ido.)
Ayer fui al gimnasio antes del trabajo.
Yesterday I went to the gym before work. (Yesterday is closed → fui.)
The deeper logic: why "current relevance" fails as an explanation
English textbooks often explain the present perfect as the tense of "current relevance" — I have eaten implies and I'm not hungry now. Forget that. Peninsular Spanish does not use the perfect for current relevance; it uses it for temporal proximity to the speech moment within an open frame. The difference matters because:
- He desayunado doesn't mean I'm not hungry now. It means I had breakfast within today's frame.
- Hoy he tenido una reunión horrible doesn't mean the reunion still affects me. It means the reunion happened earlier today.
- Ayer he tenido una reunión horrible is just wrong — ayer is closed, regardless of how much the meeting still bothers the speaker.
The frame is what matters. Once you accept that, you can predict the tense from the time marker alone, and you stop trying to translate from the English present perfect (which works on different logic entirely).
Conjugation: the preterite
The preterite of completed past events. See the preterite-vs-imperfect choosing guide for the full irregular set; here is the regular paradigm.
| Person | hablar | comer | vivir |
|---|---|---|---|
| yo | hablé | comí | viví |
| tú | hablaste | comiste | viviste |
| él / ella | habló | comió | vivió |
| nosotros | hablamos | comimos | vivimos |
| vosotros | hablasteis | comisteis | vivisteis |
| ellos | hablaron | comieron | vivieron |
Conjugation: the present perfect
The present perfect is a compound tense: present of haber + past participle. Forms are completely regular for haber; the participle is the verb-specific part.
| Person | haber |
|
|---|---|---|
| yo | he | he hablado |
| tú | has | has hablado |
| él / ella | ha | ha hablado |
| nosotros | hemos | hemos hablado |
| vosotros | habéis | habéis hablado |
| ellos | han | han hablado |
Regular participles
| Class | Ending | Example |
|---|---|---|
| -ar | -ado | hablar → hablado |
| -er | -ido | comer → comido |
| -ir | -ido | vivir → vivido |
High-frequency irregular participles
| Infinitive | Participle | Infinitive | Participle |
|---|---|---|---|
| abrir | abierto | poner | puesto |
| decir | dicho | romper | roto |
| escribir | escrito | ver | visto |
| hacer | hecho | volver | vuelto |
| morir | muerto | cubrir | cubierto |
Compounds of these inherit the irregularity: descubrir → descubierto, devolver → devuelto, deshacer → deshecho, componer → compuesto, describir → descrito.
Critical: in the perfect, the participle never agrees with anything. La carta que he escrito — escrito stays masculine singular even though carta is feminine. This differs from French/Italian. And the auxiliary haber and the participle are inseparable — pronouns go before haber, not between: me he duchado, lo he visto, se lo hemos dado.
Time markers that trigger the present perfect
These are the time expressions that, in peninsular Spanish, pull the perfect. Memorize them as a set; the tense almost picks itself once you spot the marker.
| Marker | Meaning |
|---|---|
| hoy | today |
| esta mañana | this morning |
| esta tarde | this afternoon / evening |
| esta noche | tonight / this evening |
| esta semana | this week |
| este mes | this month |
| este año | this year |
| este verano | this summer (if still summer) |
| últimamente | lately |
| hace poco | recently / a moment ago |
| ya | already |
| todavía no / aún no | not yet |
| siempre (life) | always (life experience) |
| nunca (life) | never (life experience) |
| alguna vez | ever (life experience) |
| en mi vida | in my life |
Esta mañana he tenido una reunión interminable, no he parado.
This morning I had an endless meeting, I haven't stopped.
¿Ya has comido? Si quieres bajamos a por unas tapas.
Have you eaten yet? If you want, we can go down for tapas.
Nunca he probado el cordero asado, ¿qué tal está?
I've never tried roast lamb, what's it like?
Time markers that trigger the preterite
These are the expressions that anchor an event outside the current frame.
| Marker | Meaning |
|---|---|
| ayer | yesterday |
| anoche | last night |
| anteayer | day before yesterday |
| el otro día | the other day |
| la semana pasada | last week |
| el mes pasado | last month |
| el año pasado | last year |
| el verano pasado | last summer |
| en 2019 (any past year) | in (year) |
| hace dos días / meses / años | two days / months / years ago |
| aquel día | that day |
| de pequeño / niño | as a child |
Ayer terminé la novela de Almudena Grandes, me encantó.
Yesterday I finished the Almudena Grandes novel, I loved it.
Conocí a mi pareja hace ocho años en un concurso de fotografía.
I met my partner eight years ago at a photography contest.
El verano pasado estuvimos en Cádiz dos semanas, lo pasamos genial.
Last summer we spent two weeks in Cádiz, we had a great time.
Minimal pairs: same sentence, different frame
The clearest way to feel the rule is to swap only the time marker and watch the tense flip.
Esta semana he visto tres películas, vamos a tope con el cine.
This week I've watched three films, we're going hard on cinema. (Open week → perfect.)
La semana pasada vi tres películas.
Last week I watched three films. (Closed week → preterite.)
Hoy he comido tarde, sobre las cuatro.
Today I ate late, around four. (Open day → perfect.)
Ayer comí tarde, sobre las cuatro.
Yesterday I ate late, around four. (Closed day → preterite.)
Este año hemos viajado poco.
This year we haven't travelled much. (Open year → perfect.)
En 2019 viajamos a Japón.
In 2019 we travelled to Japan. (Specific closed year → preterite.)
If you read each pair and feel the time-frame click, you have the rule. The tense is doing exactly what the time marker tells it to.
Peninsular vs Latin American: the contrast in one table
For learners coming from Latin American Spanish, this is where the divergence lives. In most of Latin America (especially Mexico, the Andes, the Southern Cone), the preterite handles both jobs.
| English | Peninsular Spanish | Latin American Spanish |
|---|---|---|
| Today I went to the gym. | Hoy he ido al gimnasio. | Hoy fui al gimnasio. |
| This week we've travelled. | Esta semana hemos viajado. | Esta semana viajamos. |
| Have you eaten yet? | ¿Has comido ya? | ¿Ya comiste? |
| I've never been to Cuba. | Nunca he estado en Cuba. | Nunca he estado / Nunca estuve en Cuba. |
| I just saw him. | Lo he visto hace un momento. | Lo vi hace un momento. |
Life experience (nunca he estado) is the one slot where the perfect is comfortable across most of Latin America too. Everywhere else, peninsular Spanish reaches for the perfect when Latin America reaches for the preterite.
The counter-trap: northern Spain
Just when the rule clicks, regional variation breaks it. In Galicia, Asturias, León, and parts of the Canary Islands, speakers prefer the preterite even within the current frame — much like in Latin America.
Hoy fui al mercado y compré pescado fresco. (Galicia / Asturias)
Today I went to the market and bought fresh fish. — regional preterite within today's frame.
Hoy he ido al mercado y he comprado pescado fresco. (Madrid / most of Spain)
Today I went to the market and bought fresh fish. — standard peninsular perfect.
In Galicia this reflects the influence of Galician (gallego), which lacks a productive compound perfect and uses the simple past for everything. In Asturias and León the pattern is similar. Hearing hoy fui from a Madrileño would sound a little off; hearing it from an Asturian is completely normal. As a learner you should default to the perfect (the wider rule), but don't be confused when local speakers use the preterite for current-frame events.
Special cases worth knowing
News-presenter style
On Spanish news you will hear an extended perfect: El presidente ha declarado..., los manifestantes han llegado a la plaza..., el incendio ha destruido tres hectáreas... even for events from earlier days. This is a journalistic style choice — the perfect makes the news feel current and ongoing. Don't take it as evidence that the time-frame rule has broken down; in everyday speech the rule still holds.
Esta tarde el rey ha visitado el hospital, donde se ha reunido con los heridos.
This afternoon the king visited the hospital, where he met with the wounded. (News register — current frame justifies the perfect.)
Acabar de for immediate past
For events that happened literally seconds ago, peninsular Spanish often uses acabar de + infinitive rather than the perfect.
Acabo de hablar con María, viene de camino.
I just spoke to María, she's on her way.
This is the cleanest "I just X-ed" construction. He hablado con María hace un momento is also fine.
Frames that move with sleep, not the calendar
If it's 2am and you're talking about events from earlier in the same calendar day, peninsular speakers may still use the perfect: esta noche he salido con Marta (tonight I went out with Marta). But once you've slept and woken up, those events shift to anoche salí con Marta — the preterite, because the night is now closed. The frame moves with the sleep cycle rather than the date.
Tener que and other obligations
Hoy he tenido que ir al banco a primera hora.
Today I had to go to the bank first thing.
Ayer tuve que ir al banco a primera hora.
Yesterday I had to go to the bank first thing.
The rule applies normally — the obligation is treated like any other event.
Common Mistakes
❌ Hoy fui al gimnasio.
In standard peninsular Spanish, hoy + preterite sounds Latin American or learner-flat. The current frame calls for the perfect.
✅ Hoy he ido al gimnasio.
Today I went to the gym. — peninsular default: hoy + perfect.
❌ Esta semana viajé a Sevilla.
Esta semana is still open. The preterite closes it artificially.
✅ Esta semana he viajado a Sevilla.
This week I travelled to Seville. — open week → perfect.
❌ He ido a París en 2019.
En 2019 is a closed past frame. The perfect clashes with it.
✅ Fui a París en 2019.
I went to Paris in 2019. — closed year → preterite.
❌ He dejado de fumar hace tres meses.
Hace tres meses anchors the event in the closed past.
✅ Dejé de fumar hace tres meses.
I quit smoking three months ago. — hace + period → preterite.
❌ Nunca estuve en Italia, quiero ir algún día.
Acceptable but unusual in Spain. Peninsular default for life experience is the perfect.
✅ Nunca he estado en Italia, quiero ir algún día.
I've never been to Italy, I want to go someday. — life experience → perfect.
❌ Me duchado y ahora salgo.
The auxiliary haber is missing — the perfect requires it.
✅ Me he duchado y ahora salgo.
I've showered, now I'm leaving. — pronoun before haber, then the participle.
❌ La carta que he escrita.
In the perfect, the participle never agrees — it stays masculine singular.
✅ La carta que he escrito.
The letter I've written. — invariant masculine singular participle.
Key Takeaways
- Peninsular Spanish uses the present perfect for events inside the current time frame (hoy, esta mañana, esta semana, este año, en mi vida).
- The preterite covers events outside the current frame (ayer, anoche, la semana pasada, en 2019, hace dos meses).
- The time marker is the cue. Este/esta + period, hoy, hace poco, ya, todavía no, alguna vez, en mi vida → perfect. Pasado/pasada, ayer, hace + period, en + year → preterite.
- Latin American Spanish prefers the preterite for both cases. If you came from there, switch your default for current-frame events.
- The northern Spain counter-trap (Galicia, Asturias, León, parts of the Canaries) — locals there use the preterite even within the current frame. Don't be confused by it; default to the perfect everywhere else.
- Auxiliary + participle are inseparable. Pronouns go before haber, never between (me he duchado, not me duchado).
- The participle never agrees in the perfect (la carta que he escrito, not escrita).
- News-presenter style overuses the perfect for journalistic currency — don't generalize from it to everyday speech.
For the focused error walkthrough with corrected pairs, see the peninsular preterite-vs-perfect errors page.
Now practice Spanish
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Spanish→Related Topics
- Errores peninsulares: pretérito vs perfectoA2 — Spain uses 'he comido' for actions inside the current time frame (today, this week) and 'comí' for actions outside it (yesterday, last week). Latin America prefers the preterite for both. Time markers are the cleanest signal — plus a counter-trap: northern Spain (Galicia, Asturias, León) breaks the rule and prefers the preterite even within the current frame.
- Cómo elegir entre pretérito e imperfectoB1 — The full decision guide for Spanish's two simple past tenses. Preterite for completed events on the timeline; imperfect for what was going on around them. Conjugation tables for both, the meaning-shift verbs (conocí vs conocía), the narrative shape that puts the two tenses side by side, and the deeper logic that lets you predict the right tense in any sentence you've never seen.
- Pretérito perfecto hodiernal en EspañaA2 — Why peninsular Spanish forces the present perfect (he comido) for any event that happened today — and often this week, this month, or this year — where Latin America would use the simple preterite.
- Usos generales del pretérito perfectoA2 — The four main jobs of the Spanish present perfect — today's events, life experiences, recent unspecified past, and ongoing situations with ya/todavía/nunca — and why peninsular Spanish leans on this tense far more than English or Latin-American Spanish.
- Variación regional del pretérito perfectoB2 — A map of how Spanish dialects use the present perfect — from Spain's strong hodiernal pattern to Río de la Plata's near-total preference for the preterite, with Andean evidential nuance and the Galician/Asturian preterite drift inside Spain itself.