(British English and American English have different rules for the use of the present perfect. The comments being made here and the exercises state the correct grammar for British English. However, in American English, it is often considered acceptable to use the past simple in some of these examples.)
We use the past simple to talk about actions in the past that have finished. It talks about 'then' and definitely excludes 'now'.
We use the present perfect simple to look back on actions in the past from the present. It always includes 'now'.
These sentences are in the past with no connection to the present.
- I first met him 10 years ago.
- I started work here in 1987.
- I ate too much at lunchtime.
Now look at these same situations seen from the present.
- I've known him for 10 years.
- I've worked here since 1987.
- My stomach hurts. I've eaten too much.
Typical time phrases that we use with the past simple are 'yesterday', 'ago', 'last year', 'in 1999'.
- I spoke to him yesterday.
- She came in a few moments ago.
- We made our last purchase over a year ago.
- He joined the company in 1999.
Typical time phrases that we use with the present perfect are 'ever', 'never', 'since'.
- I've never seen so many people.
- Have you ever been more shocked?
- I've done a lot since we last spoke.
Typical time phrases always used with the present perfect in British English but often used with the past simple in American English are 'already', 'just', 'yet'.
- I haven't done it yet. (UK)
- I didn't do it yet. (US)
- I've just done it. (UK)
- I just did it. (US)
- I've already done it. (UK)
- I already did it. (US)
The time phrase 'for' can be used with both forms, but with different meanings.
- I went to Munich for the weekend but I came back on Sunday evening.
- I've been in Munich for the weekend and I've brought you back some German sausages.