Which sentence is incorrect will depend upon:
- The country you are speaking the sentence in.
- Signal words you are using in the sentence &
In British English, the use of Simple Past and Present Perfect is quite strict. As soon as a time expression in the past is given, you have to use Simple Past. However in American English, you can normally use Simple Past instead of Present Perfect, so the following rules rarely apply to American English.
Signal words:
If signal words explicitly define that the event is in past, you have to use Simple Past.
eg.
- yesterday
- ... ago (an year ago)
- in 1990
- the other day
- last .. (last summer) etc.
Example sentence: I phoned Mary 2 minutes ago.
If signal words do not explicitly define that the event is in past, you use Present Perfect.
- just
- already
- up to now
- until now / till now
- ever
- (not) yet
- so far
- lately / recently
Example sentence: I have just called Mary.
Source (Shamelessly copied word-to-word)