There are some good websites explaining how to use the Present Perfect.
USE 1: Unspecified time before now
We use the Present Perfect to say that an action happened at an unspecified time before now. The exact time is not important.
Examples:
I have seen that movie twenty times.
I think I have met him once before.
1) Describing Experience
Examples:
I have been to somewhere
I have studied many foreign languages
2) Change over time
To talk about change that has happened over a period of time
Examples:
The government has become more interested in arts education
My English has really improved since I moved to England
3) Accomplishments
We often use the Present Perfect to list the accomplishments of individuals and humanity. You cannot mention a specific time.
Examples:
Man has walked to the Moon.
Our son has learned how to read.
Doctors have cured many deadly diseases.
4) An uncompleted action you are expecting
We often use the Present Perfect to say that an action which we expected has not happened. Using the Present Perfect suggests that we are still waiting for the action to happen.
Example:
James has not finished his homework yet.
Bill has still not arrived.
The rain hasn't stopped.
5) Multiple actions at different times
We also use the Present Perfect to talk about several different actions which have occurred in the past at different times. Present Perfect suggests the process is not complete and more actions are possible.
Examples: The army has attacked that city five times.
We have had many major problems while working on this project.
I have had four quizzes and five tests so far this semester.
Time expressions with Present Perfect
When we use the Present Perfect it means that something has happened at some point in our lives before now. Remember, the exact time the action happened is not important.
Sometimes we want to limit the time we are looking in for an experience. We can do this with expressions such as: in the last week, in the last year, this week, this month, so far, up to now, etc.
Examples:
Have you been to Mexico last year?
My car has broken down three times this week.
Notice:
"Last year" and "in the last year" are very different in meaning. "Last year" means the year before now, and it is considered a specific time which requires Simple Past. "In the last year" means from 365 days ago until now. It is not considered a specific time, so it requires Present Perfect.
Examples:
I went to Mexico last year. (Past)
I have been to Mexico in the last year. (Present Perfect)
USE 2: Duration from the past until now (non- continuous verbs)
Examples:
I have had a cold for two weeks.
She has been in England for six months.
Adverb Placement
Examples:
You have only seen that movie one time.
Have you only seen that movie one time?
Active/Passive
Examples:
Many tourists have visited that castle. (Active)
That castle has been visited by many tourists. (Passive)
.
.
.
When I need to apply the Present Perfect form I always remember...:
- Something that happened in the past with a result now. (I have lost my wallet)
- Talk about experience (I have seen this movie x times)
- News (I have just bought this car, I have just read this book...)