Is it grammatical to combine the present perfect tense with time? For example,

I've seen that movie two days ago.

I've completed the 12-step program last summer.

The deadline was two days ago, and I've finished the project ahead of time.

  • you can't use 'ago' with present perfect
    – Azamat
    Apr 8, 2014 at 3:29
  • Possibly related: english.stackexchange.com/q/162236/14666
    – Kris
    Apr 8, 2014 at 5:09
  • This is a potentially involved issue. When used for time purposes: in general, the present-perfect focuses on the present. So, for the present-perfect, if a time adjunct is used, its use (usually) will not explicitly or implicitly exclude the "now" component of the present-perfect. For instance: "A plane has crashed at the airport today", "I haven't been to a party on a Sunday". . . .
    – F.E.
    Apr 9, 2014 at 0:58
  • Under restrictive conditions, a past-time adjunct can be used: "He has got up at five o'clock", "We've already discussed it yesterday". Though, most often, past-time adjuncts aren't found in present-perfect. (See CGEL, 142-6) . . .
    – F.E.
    Apr 9, 2014 at 0:59
  • 2
    Possible duplicate of How to correctly use the present perfect tense
    – Mari-Lou A
    Mar 25, 2016 at 8:48

2 Answers 2


It is conditional and not done always.

According to this online resource,

We use the Present Perfect tense with time references that refer to the time up to now. For example: today, this week, this month, ever, never, already, recently, yet etc.

I haven't seen her today.
Have you ever smoked a cigarette?
I have never been abroad before.

Michaelis (pdf ~372kB)

The crowd has now moved to plaza

But not

*I have woken up at dawn this morning.
*When have you woken up?

Yet, both the above can be used and can be grammatical in certain contexts depending on the semantics.

We also use the present perfect with a time expression in the future as in:

Call me when you have done the work (when it is completed)


Call me when you do the work (when you start to do)

Generally we do not use any time expressions, according to yet another:

We do not use the present perfect tense with time expressions. So, it is wrong to say, “A plane has crashed at the Heathrow airport today.” Say, “A plane has crashed at the Heathrow airport.”

Now that's an over-simplification.

See also:
Mary W. Ng, Basic Grammar Step-by-Step p.124

  • One of your sources considers "A plane has crashed today" as being wrong. Do you agree with them?
    – F.E.
    Apr 8, 2014 at 5:00
  • @F.E. I already said there are many levels of simplification of the concept. See Michaelis for a more detailed treatment of Tense & Time.
    – Kris
    Apr 8, 2014 at 5:03
  • But to your ear, does "A plane has crashed today" sound wrong?
    – F.E.
    Apr 8, 2014 at 5:05
  • 1
    One of your other sources has "I haven't seen her today", which seems reasonable. The other one that gave the plane example seems dubious, imo.
    – F.E.
    Apr 8, 2014 at 5:10
  • 1
    I think using the present perfect with "today" in "The plane has..." is absolutely correct, especially if that "today" hasn't ended yet. Dec 28, 2016 at 16:06

Perfect present tense is used to indicate whether or not an action has already been completed, but not to specify when exactly it was completed. If you want to say when an action was completed, use past tense.


Not the answer you're looking for? Browse other questions tagged or ask your own question.