This post is from another site that I run. I reworked it a little to make it look better.
We use simple past when we know something is in the past and completed
- e.g. I saw that dog.
We can also use the simple past to tell a series of events in order in the past.
- e.g. I saw that dog. I saw that cat.
We use this form to tell stories.
Normally, we use a time reference when we talk in the past tense.
- e.g. I saw that dog yesterday.
Simple Past vs Present Perfect is a hard comparison for some people because there are times you can say both.
- e.g. I saw that dog vs I have seen that dog.
In this example both mean the same thing because we don’t specify the time.
Therefore, the question is why would I need to use one over the other. It really boils down to context a lot of the time. In the “I have seen that dog” example it is likely that the person is seeing the dog right at that time. That is likely the reason they are saying that they have seen it. However, in the other example we are unsure when the person saw the dog. Often the question that would follow after a statement like “I saw that dog” is “when did you see that dog?”
yesterday – last year/month/week/day – ago
We use present perfect in two ways.
We can use it when we don’t specify the time, and the event was in the past.
- e.g. I have seen that dog.
We can also use the present perfect when something has happened more than once in the past when we don’t specify the time.
- e.g. I have seen that dog many times.
Action started in the past and continues until now
The other way that the present perfect we use present perfect is when something started in the past and continues until now.
- e.g. I have had that dog since I was young.
When you use present perfect a time reference is NOT used.Correcte.g. I have seen that dogIncorrect
e.g. I have seen that dog yesterday.
Things to look out for
One common mistake made by French people specifically is that they translate directly from French to English.
- e.g. J’ai vu un film hier which translated directly means
I have seen a film yesterday.
This is wrong because you are using a time reference while using the Present Perfect. The correct translation would be;
I saw a film yesterday.
yet – already – lately – for – since – ever – so far