When have you seen her? This morning? Yesterday?
When did you see her? This morning? Yesterday?
He has left Shanghai for a long time.
He left Shanghai a long time ago.
I have come to Shanghai three years.
I have been in Shanghai for three years. / I came to Shanghai three years ago.
My email address changed, I will give you the new one.
My email address has changed, I will give you the new one.
They have moved here in 2018.
They moved here in 2018.
They have left a few minutes ago.
They left a few minutes ago.
From last week I have changed my class.
I changed class last week.
I worked there from 2014 to 2017 (finished period).
I have worked / have been working there since 2018 (unfinished period - I still work there).
She set up the company in 2018. She has set up many companies in the last ten years.
They went to the bar an hour ago. They have been at the bar for an hour.
I bought these books at the new book shop. I’ve bought so many books that I don’t know where to put them.
Last year you made a lot of progress. I can see that you’ve made a lot of progress this year too.
The stock market crashed twice last year. The stock market has crashed twice this year and it’s only August.
We have redesigned our website - take a look at it. We originally designed it five years ago.
Your choice of present perfect or simple past will often depend on the time expressions you use. In the examples in the grey shaded box above, these time expressions are in italics.
Don’t use the present perfect in the following cases:
to talk about completed actions in the recent past (even one second ago) or the distant past.
to say when something happened (e.g. yesterday, last week, when she was at university, many years ago) you must use the simple past and not the present perfect.
with time expressions typically associated with the simple past: yesterday, last night, a few minutes ago, in 1945, when, then, before, after, etc.