The perfect tenses are formed by using the auxiliary verb to have and adding the past participle of the main verb. Thus, the present perfect is formed by taking the present tense of to have (has or have) and adding the past participle of the main verb.
The present-perfect tense is appropriate in two situations: (1) the action was completed at some indefinite time in the past or (2) the action occurred in the past but continues to the present. Here's an example of the present-perfect tense showing completion of the act at some indefinite time in the past:
We have seen this movie before.
And here's an example of the present-perfect tense showing a past action continuing to the present:
He has worked on his thesis for three weeks now.
Remember the two conditions: (1) the past time is indefinite or (2) the past action continues to the present. If these conditions don't persist, then the present-perfect tense is incorrectly used. Here’s a mistake, with the fix shown parenthetically:
I have played golf all afternoon yesterday. (I played golf all afternoon yesterday.) (The past time is definite.)