The perfect present aspect expresses and emphasizes the consequences resulting from a previous action or state. The previous action or state began in the past and continued up to the present. Take for example the following two sentences:
- Her mother wrote novels for years. (simple past)
- Her mother has written novels for years. (present perfect)
The first sentence Her mother wrote novels for years expresses an action that occurred in the past; her mother wrote novels in the past but presumably no longer writes. The second sentence Her mother has written novels for years expresses an action that began in the past but continues up to the present; her mother wrote novels in the past and presumably is continuing to write novels in the present.
The perfect present aspect is most often used in sentences that express experiences, accomplishments, changes over time, uncompleted actions with expected ends, continuous actions with starting points in the past, past actions with present results, and multiple actions at different times. For example:
- She has lived in France and England. (experience)
- Our library has won an award every year. (accomplishment)
- My son has grown three inches this year. (change over time)
- I have not finished my homework yet. (uncompleted action with expected end)
- That man has been a farmer for over sixty years. (continuous actions with past starting point)
- My neighbor has broken his leg. (past action with present result)
- He has discussed his problem with numerous specialists. (multiple actions)
Present perfect sentences cannot contain adverbials that express specific times in the past such as yesterday, last month, a year ago, as a child, at that moment, and one day. Present perfect sentences can contain adverbials that express unspecific times in the past or present times such as today, now, just, for years, ever, never, before, and many times. For example:
- My puppy drank all the milk yesterday. (correct)
- *My puppy has drunk all the milk yesterday. (incorrect)
- My puppy drank all the milk today. (correct)
- My puppy has drunk all the milk today. (correct)