Pelota Learn Log in

I have done or I did?

Present perfect or past simple

A2 to B22 minutesfree, no account
THE RULE IN ONE LINE

Say I did for a finished time (yesterday, last year, in 2019) or when you tell a story. Say I have done for your life up to now, or a time that goes on until now (ever, never, so far, since). In American English, I did with ever and never is also fine.

  • I saw Ana yesterday.
  • I've been to Rome three times.
  • We've lived here since 2019.

In Spanish you say «vivo aquí desde 2015» in the present; in English something that started then and is still true takes have: I've lived here since 2015.

THE TRAP

A finished time wins: I bought my car two years ago, even if you still drive it. Not: I have bought it two years ago.

Also on this page: since and for · ever and never · How long have you…?

Try 6

Six quick questions, easiest first. At the end you'll see which mistake you make.

THE QUESTIONS
  1. I ______ my first job when I was seventeen.have been getting · was getting · got · have got
  2. Hannah and I ______ each other since primary school.know · have known · knew
  3. We ______ our exams in June, and then we went on holiday.finished · have finished · have been finishing · finish
  4. Ella ______ three different careers so far, and she is still only thirty.did have · has had · was having · had
  5. Kate ______ her first car two years ago, and she still drives it.has bought · bought
  6. My best friend ______ me four times since I moved to the city.visited · has visited
  7. Mia ______ her essay yesterday, so she is relaxing today.has handed in · hands in · handed in
  8. Our teacher ______ a great idea for the project last week.has come up with · came up with · was coming up with
  9. My parents ______ married in 1985 in a tiny church near the sea.have got · got
  10. My brother ______ in Canada for five years now, and he loves it.has lived · lived · lives
  11. How much ______ on your phone bill last month?did you spend · have you spent
  12. Last year the company ______ our office to the other side of town.moved · has moved
Show the answers
  1. gotnot have got: have done with a finished time
  2. have knownnot knew: did for a time that goes on until nownot know: I live with since or for
  3. finishednot have finished: have done with a finished time
  4. has hadnot had: did for a time that goes on until nownot did have: did for a time that goes on until now
  5. boughtnot has bought: have done with a finished time
  6. has visitednot visited: did for a time that goes on until now
  7. handed innot has handed in: have done with a finished time
  8. came up withnot has come up with: have done with a finished time
  9. gotnot have got: have done with a finished time
  10. has livednot lived: did for a time that goes on until nownot lives: I live with since or for
  11. did you spendnot have you spent: have done with a finished time
  12. movednot has moved: have done with a finished time

Common mistakes on this point

have done with a finished time

Not: I have seen him yesterday.

Say: I saw him yesterday.

yesterday, last week, in 2019 and ago are finished times: they take I did.

See this mistake on its own page ›
did for a time that goes on until now

Not: She had three jobs so far.

Say: She has had three jobs so far.

so far and since mean the time goes on until now: they take I have done. for + how long takes I have done only when it is still going on (I've worked here for two years); for a finished time, use I did (I lived in Paris for two years).

See this mistake on its own page ›
I live with since or for

Not: I live here since 2015.

Say: I've lived here since 2015.

Something that started in the past and is still true takes I have done with since or for.

See this mistake on its own page ›