How to form the present perfect?
To make the positive present perfect tense, use:
'Yes / No' Questions
have I missed the bus?
have you visited London?
has he worked as a waiter before?
has she met John?
has it been cold this week?
have we arrived too early?
have they studied English grammar before?
As you can imagine, for 'wh' questions, we just put the question word before 'have' or 'has':
where have I left my umbrella?
what have you done today?
why has he gone already?
where has she been in the UK?
why has it rained so much this summer?
what have we done?
where have they learned English before?
When should we use the present perfect tense?
We use this tense for unfinished and finished actions:
We use this tense when we want to talk about unfinished actions that started in the past and continue to the present. Usually we use it to say 'how long' an action or state has continued with 'since' and 'for'. Often, we use stative verbs in this situation:
'Since' and 'For'
We use 'since' with a fixed time in the past (2004, April 23rd, last year, two hours ago). The fixed time can be another action, indicated with the past simple (since I was at school, since I arrived):
We use 'for' with a period of time (2 hours, three years, six months):
1: Life experience
2: A finished action with a result in the present (focus on result)
3: With an unfinished time word (this month, this week, today, in the last year)
Note: We can't use the present perfect with a finished time word:
Been' and 'Gone'
In this tense, we use both 'been' and 'gone' as the past participle of 'go', but in slightly different circumstances.
We use 'been' (often when we talk about 'life experience') to mean that the person being talked about has visited the place, and come back. Notice the preposition 'to':
We use 'gone' (often when we are talking about an action with a result in the present) to mean that the person is at the place now:
Source : perfect-english-grammar.com