This is something which came up in my last question.
As far as I know “had + verb” is done (started & finished) in the past. What’s about “has + verb”?
Can anyone please explain me the difference?
The present perfect is used to describe an action which causes a present state.
The past perfect is used to describe an action which caused a past state.
The verb form usually employed to signify your started-and-finished in the past is the simple past.
I ate dinner.
This says nothing about what went before or came after. It is a complete ‘historical’ action, what grammarians call perfective (not ‘perfect’).
The perfect constructions in English signify something different. Although they name actions which occurred in the past, they define that past action as still relevant at a later time, as causing a state which endures into that later time.
The present perfect construction employs the present form of HAVE to signal that the later time is now, Speech Time, the time when you speak or write the sentence. You use this construction to describe your present state:
I have eaten dinner (so I‘m not hungry now or so I can see you immediately without having to eat dinner first, or whatever the consequence is).
The past perfect construction employs the past form of HAVE to signal that the later time is then, Reference Time, the ‘historical’ time defined in the sentence’s larger context by your use of simple past forms. You use this construction to describe your state at that time:
I had eaten dinner (so I wasn’t hungry then).
Note that perfect constructions require a context. The context for using the present perfect construction need not be specified: it ‘defaults’ to the present, Speech Time. But you use the past perfect only when you are narrating past events: a Reference Time must be established by using one or more past forms.
Employing the present perfect makes a statement about Speech Time, the present.
Employing the past perfect makes a statement about Reference Time, a specific point in the past.
Note also that because the present perfect construction is a statement about the present, you are not permitted to use it with an adverbial referring to a point in the past:
✲ I have eaten dinner yesterday. This must be expressed as
I ate dinner yesterday.
✲ marks a usage as unacceptable