Skip to main content

B2 · Theory

Spanish B2 review: tense, mood and perspective (si hubiera, habría hecho, fue / está hecho)

Every B2 verb answers three questions: when is it, relative to now or to the main verb; is it real or unreal, known or unknown; and is it an action or a result, a fact or a report? The answers pick the form: **ojalá tuviera / haya / hubiera**, **si tuviera / si hubiera tenido**, **habré / habría terminado**, **fue / está cerrado**, **me dijo que venía / viniera**.

B2 Time, mood, and perspective ·

The main rule

Ask three questions of every verb. When is it: now or later, before now, or before a past point (tuviera, haya tenido, hubiera tenido)? Is it real or unreal, known or unknown (Si llueve against Si lloviera, Ojalá haya salido bien against Ojalá hubiera salido bien)? And is it an action by someone, a result, or a report of what someone said (fue cerrada por el ayuntamiento, está cerrada, me preguntó si estaba cerrada)? A wish, doubt or request about another person's action asks for the subjunctive; a deadline, a guess or a hypothetical result asks for a future or conditional form.

One map, every form

Situation, form and example
SituationFormExample
A wish, unlikely nowojalá + imperfect subjunctiveOjalá tuviera más tiempo para viajar.
A wish, you do not know the result yetojalá + perfect subjunctiveOjalá haya salido bien el examen.
A regret about the pastojalá + pluperfect subjunctiveOjalá hubiera estudiado más.
Doubt about a past event, seen from nowno creo que + perfect subjunctiveNo creo que haya llegado todavía.
Doubt or feeling about an earlier past pointpast verb + hubiera + participleNo creía que hubiera llegado antes de las ocho.
What someone wanted or asked of another personpast verb + que + imperfect subjunctiveQuería que vinieras. Le pedí que me ayudara.
A deadline aheadfuturo perfectoPara el lunes habré terminado.
A guess about the recent pastfuturo perfectoNo contesta: habrá salido.
The future of a past point, in a storycondicional perfectoDijo que para las ocho lo habría terminado.
A hypothetical past resultcondicional perfectoEn tu lugar, habría llamado.
An unlikely or unreal present or future conditionsi + imperfect subjunctive, condicionalSi tuviera tiempo, viajaría más.
An unreal past conditionsi + pluperfect subjunctive, condicional perfectoSi hubiera estudiado, habría aprobado.
A mixed condition: past cause, present resultsi + pluperfect subjunctive, condicionalSi hubiera aceptado aquel trabajo, ahora viviría en Chile.
A process or event in the passiveser + participle (+ por)El puente fue construido en 1890 por una empresa local.
A resulting stateestar + participleHoy el museo está cerrado.
A reported questionoriginal tense shifts back, si or a question word¿Has comido? > Me preguntó si había comido.
A reported order or requestdecir que + subjunctiveMe dijo que me sentara.
Reported informationdecir que + indicativeMe dijo que venía a las ocho.

English hides most of these choices. "Would" alone covers viniera ("I wanted you to come" is Quería que vinieras), vendría ("he said he would come") and habría terminado ("he said he would have finished by eight"). "If I had" is si tuviera when it means now and si hubiera tenido only in the longer "if I had had"; "I wish I had time" is ojalá tuviera, but "I wish I had studied" is ojalá hubiera estudiado. "She asked me to help her" is Me pidió que la ayudara: pedir with another person usually takes que and the subjunctive. English uses one passive for an event and a state ("was built", "is closed"); Spanish splits them: fue construido against está cerrado. "By Monday I will have finished" maps directly to habré terminado.

The pairs learners mix up

Same verb, two forms: ask which one
PairThe question to askExample
si tuviera / si hubiera tenidoIs the situation now or ahead, or in the past?Si tuviera coche, iría hoy. / Si hubiera tenido coche, habría ido ayer.
ojalá tuviera / haya tenido / hubiera tenidoUnlikely now, not known yet, or it did not happen?Ojalá tuviera tiempo. / Ojalá haya tenido buen viaje. / Ojalá hubiera tenido más tiempo.
habrá terminado / habría terminadoA deadline or guess from now, or the future of a past point in a story?Dice que para el viernes habrá terminado. / Dijo que para el viernes habría terminado.
fue cerrado / está cerradoAn event with a time or an agent, or the state now?El local fue cerrado en mayo. / Hoy está cerrado.
me dijo que venía / me dijo que vinieraDid the original say a fact or give an order?«Vengo a las ocho» > venía. «Ven a las ocho» > viniera.
no creo que haya llegado / no creía que hubiera llegadoIs the main verb in the present or in the past, with an earlier anchor?No creo que haya llegado ya. / Cuando llamé, no creía que ya hubiera llegado.

Examples

  • Ojalá hubiera estudiado más para el examen. I wish I had studied more for the exam.
  • Mi jefa quería que terminara el informe antes de las ocho. My boss wanted me to finish the report before eight.
  • No creo que haya llegado todavía; su vuelo salió tarde. I don't think he has arrived yet; his flight left late.
  • Cuando llegamos, nos sorprendió que el tren ya hubiera salido. When we arrived, we were surprised that the train had already left.
  • Para el viernes habré terminado la traducción. By Friday I will have finished the translation.
  • Dijo que para las ocho lo habría terminado, pero no lo terminó. He said he would have it finished by eight, but he didn't finish it.
  • Si hubiera aceptado aquel trabajo, ahora viviría en Chile. If I had accepted that job, I would be living in Chile now.
  • El puente fue construido en 1890 y hoy está cerrado al tráfico. The bridge was built in 1890 and is closed to traffic today.
  • Ayer Marcos me preguntó si había comido y me dijo que me sentara. Yesterday Marcos asked me if I had eaten and told me to sit down.
  • Me dijo que venía a las ocho, y yo le dije que viniera antes. He told me he was coming at eight, and I told him to come earlier.

A model text, analysed

Marcos quería que su hermana Sofía lo acompañara a Lviv (another person's action after a past verb: imperfect subjunctive). Ella le preguntó si el hotel estaría cerca de la estación (¿Estará cerca? shifts to the conditional in a closed story), y él le dijo que no se preocupara (an order: subjunctive), porque la reserva ya estaba hecha (information, so indicative; a state, so estar). Sofía dijo que para el viernes habría pedido los días libres (the future of a past point: conditional perfect), pero su jefe se los negó. Ahora la reserva está cancelada (a state now), porque fue cancelada por el hotel el lunes (an event with an agent: ser). Marcos piensa: «Si mi hermana hubiera tenido vacaciones, ahora estaríamos en Lviv» (a mixed condition) y «Ojalá hubiéramos reservado en otra fecha» (a regret: pluperfect subjunctive).

Where Spanish allows two forms

Several choices are not mistakes either way. Hablara and hablase, hubiera and hubiese, mean the same, and -ra is the one to use. In the result clause of an unreal past condition, habría aprobado, hubiera aprobado and hubiese aprobado all work; the si clause stays hubiera estudiado. After a present verb about a past event, No creo que lo haya hecho and No creo que lo hiciera are both heard. After a past verb about something still ahead, Me pidió que venga mañana and que viniera mañana are both correct, and the imperfect is the safe choice. For the passive, El puente fue construido en 1890, Se construyó el puente en 1890 and Construyeron el puente en 1890 are all fine; the real contrast is event against state. After cuando, cuando termines and cuando hayas terminado both work. In reports, content that is still true or still ahead can keep its tense (Me preguntó dónde vivo, Me preguntó si vendrá), and Me preguntó que si venía is common in speech; in a closed past story the shifted forms (vivía, vendría) are the standard choice.

A check before you write

Put a time on the verb (now, ahead, before now, before a past point), then say whether it is wished, doubted, hypothetical or reported. If one clause is an "if", look only at the verb after si: that is where the time is decided.

Common mistakes

  • Si tendría tiempo, viajaría más. Si tuviera tiempo, viajaría más. after si never use the conditional; the imperfect subjunctive goes there
  • Si habría sabido la verdad, no habría venido. Si hubiera sabido la verdad, no habría venido. an unreal past needs the pluperfect subjunctive after si
  • Ojalá había estudiado más. Ojalá hubiera estudiado más. ojalá takes the subjunctive, never the indicative
  • Ayer me pidió que lo hago. Ayer me pidió que lo hiciera. a past verb of request asks for the imperfect subjunctive
  • El puente está construido en 1890. El puente fue construido en 1890. an event with a date is ser; estar shows only the state
  • Quería tú venir. Quería que vinieras. / Quería venir. a different subject needs que and the subjunctive; one subject takes the infinitive
  • Cuando habrás terminado, llámame. Cuando hayas terminado, llámame. / Cuando termines, llámame. after cuando about the future Spanish uses the subjunctive, never the future perfect

Frequently asked questions

How do I choose between si tuviera and si hubiera tenido?

Look at the time of the situation. Si tuviera (+ conditional) is for now or ahead and is unlikely or unreal: Si tuviera tiempo, viajaría más. Si hubiera tenido (+ conditional perfect) is for the past: Si hubiera tenido tiempo, habría viajado más.

What is the difference between ojalá tuviera, ojalá haya and ojalá hubiera?

Ojalá tuviera is a wish that is unlikely now, ojalá haya salido bien hopes for something you do not know yet, and ojalá hubiera estudiado regrets something that did not happen.

When do I use habré terminado and habría terminado?

Habré terminado is a deadline or a guess from now: Para el lunes habré terminado, No contesta: habrá salido. Habría terminado is the future of a past point, mostly in a story: Dijo que para el lunes lo habría terminado, or a hypothetical result: Yo no lo habría hecho.

Should I use ser or estar with a participle?

Use ser for the event or process, often with a date or por and an agent: fue construido en 1890 por una empresa local. Use estar for the result you see now: está cerrado. In daily speech, the passive se is also common: Se construyó en 1890.

How do I tell an order from information in reported speech?

Go back to the words that were said. An order or request becomes the subjunctive: «Siéntate» > me dijo que me sentara. Information stays indicative: «Vengo a las ocho» > me dijo que venía a las ocho.

Do I always change the tense in reported questions?

In a closed past story, yes: «¿Has terminado?» > me preguntó si había terminado, «¿Vendrás?» > me preguntó si vendría. If the content is still true or still ahead, the original tense may stay.

Check yourself

Practise with instant feedback, then pass the exam to certify the topic. Practice and exams come with Reader from €1/month.

More B2 topics