European Spanish (Español peninsular) uses two different tenses to talk about past events in cases where in English we generally use one. Knowing whether to use El Pretérito Perfecto ("he ido") or El Pretérito Indefinido ("fui") can be tricky at first but it's actually pretty easy.
The rules are simple once you understand how we think about units of time: days, weeks, months and years.
In English, we would use I went for all of these cases:
I went to the doctor today.
I went to the doctor yesterday.
I went to the doctor this week.
I went to the doctor last week.
I went to the doctor this month.
In Español peninsular, however, we choose either He ido or Fui according to when the action occurred relative to the "unit of time" referred to or implied (day, week, month, year):
He ido al médico esta semana.
Fui al médico la semana pasada.
He ido al médico este mes.
How to know when to use El Pretérito Perfecto or El Pretérito Indefinido
The choice of tense depends on whether the speaker is "still inside" the "unit of time" that's being used or implied:
Use the present perfect ("he ido") form when talking about the past:
- today, this week, this month, or this year
Use the indefinido ("fui") form when talking about the past:
- yesterday, last week, last month, or last year (or further back)
If we're expressing ourselves in blocks of days then "yesterday" is in the past relative to today and therefore requires "fui". If we're talking about exactly the same event but using the time block "this week," then that is still current because the event and the speaker are in the same time block, so the speaker uses "He ido". Easy!
Attention: the smallest block of time is one day when considering which tense to use.
Parts of the day, such as morning, afternoon, evening and night do not count as 'time blocks' for this purpose. For example, if it's now the afternoon, you still use "he ido" to say "I went" somewhere in the morning.
Note: when we talk about things that happened hours or minutes ago, you can use either tense:
Lo he visto/lo vi hace 2 minutos.
I saw him two minutes ago.
Lo he visto/ lo vi hace unas horas.
I saw him a few hours ago.
English is not so different
You might think this concept of time blocks determining choice of tense is strange at first, but in fact, in English we use the perfect tense with the very same time blocks (albeit with a different nuance; i.e., to introduce a new fact or express a sense of continued action).
These sentences sound right:
I’ve been to the doctor today… (and she said…)
I’ve been to the doctor this week/month/year… (twice/four times!)
But these sound strange:
I’ve been to the doctor yesterday.
I’ve been to the doctor last week/month/year…
They feel very strange because the time block is over. Spanish is the same: don't use the present perfect to talk about events in previous blocks of time. Use the simple past instead.
Caution: novices in both languages mistakenly translate El Pretérito Perfecto into/from the English present perfect because they share the same form:
“I have [past participle]” is structurally the same as “(Yo) he + [past participle]”
While there are instances where this will work, in general this is a mistake and the English preterite is the appropriate choice.
Want to make sure your Spanish sounds confident?
We’ll map your knowledge and give you free lessons to focus on your
gaps and mistakes. Start your Braimap today »