Basically, the present perfect relates to the fact that something has happened (irrespective of when), where as the past simple relates to when it happened. Consequently, if there is a specific time phrase (including the question word When), we use the past simple, not the present perfect, e.g.:
![]() | A: When did they arrive? (¿Cuándo llegaron? O ¿cuándo han llegado?) B: They arrived ten minutes ago/last week/on the 4th of May. (Han llegado hace 10 minutos./Llegaron la semana pasada/el 4 de mayo.) Compare: C: Have they arrived yet? (¿Ya han llegado?) D: Yes, they've just arrived. (Sí, acaban de llegar.) |
If there is no explicit time mentioned, the present perfect suggests a recent event; the past simple a more remote one. For example, if someone notices that cold air has started to come into the house, they would say:
![]() | Who's opened a window? (¿Quién ha abierto una ventana?) |
But if they come home and the house is cold because the windows are open, they would say:
![]() | Who opened the windows? (¿Quién abrió las ventanas?) |
In contrast to Spanish, today, this morning and this afternoon do not necessarily require the present perfect, e.g.:
At 12 midday we would say:
![]() | A: What did you have for breakfast? (¿Qué has comido para almorzar?) |
| B: I had toast and marmalade. (He comido tostadas con mermelada para almorzar.) |
During the morning we would say:
![]() | C: What have you done this morning? (¿Qué has hecho esta mañana?) |
| D: I've cleaned my room. (He limpiado mi habitación.) |
But in the afternoon we would say:
![]() | E: What did you do this morning? (¿Qué has hecho esta mañana?) |
| F: I cleaned my room. (He limpiado mi habitación.) |
Similarly, during the afternoon we would say:
![]() | How many clients have you visited this afternoon? (¿Cuántos clientes has vistado esta tarde?) |
But after the end of the working day we would say:
![]() | How many clients did you visit this afternoon? (¿Cuántos clientes has vistado esta tarde?) |
Notice the close meaning relationship between the following sentences:
|
![]() | |||