I was taught that for counterfactual situations whose time frame is in the present: if + simple past, would/could/might

Then why is would have used instead of would in this case?

If this was two years ago, I would have given five stars and raved about the quality of the food that I had ordered.

Another example:

The speaker is talking to his enemies:

"I don't want to hurt anyone. I'll do everything I can to keep myself from having to." That's how the old me would've approached this. But things are different now.

Again, it seems to me the time frame is in the present. Why not say "That's how the old me would approach this"?

  • 1
    Both are fine. (Assuming that the other verbs follow suit.) It's purely a matter of style and preference. Jul 10 '19 at 0:47
  • In formal written English, you would write, “If this were two years ago,” or something like, “If this had happened two years ago,” because counter-factuals take the subjunctive. In informal or spoken English, “If this was” is common and fine. Another good way of saying it: “Two years ago, I would have ....”
    – Davislor
    May 2 '21 at 22:15

"Would have" just establishes that the counterfactual or hypothetical refers to time.

If I was in your office I would just give it to you.

If this was before the party I would have driven you over.

My first example is about location, so it uses the plain "would." The second is about time so it uses "would have." Yes, it's about a situation in the present, but the issue at point is time.

The second example you gave is actually good for this. It can be interpreted two different ways. One is that the counterfactual/hypothetical is the timeframe, that is that in the past the speaker would have done something differently, and associates the character more with the past version. The second is that the counterfactual/hypothetical is the person doing the actions, and the speaker considers themselves a different person than who they were some time ago.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .