Time expressions used with the Present Perfect

For and Since

Since and for are very commonly used in the Present Perfect. We use for with a period of time, for example:

  • I have lived here for 20 years.

When talking about a starting point, we use since (followed by some point in time, for example: last june, 1967, yesterday).
  • I have lived here since 1960.
More about Time Expressions

Remember that in the Present Perfect you cannot use time expressions such as:

  • two months ago
  • one year ago
  • last week
  • yesterday
  • when I was five years old
Examples
  • I have visited my mother yesterday. WRONG
  • I have gone to the post office two months ago. WRONG


Those sentences are wrong because they specify accurately when something happened.

Instead, you should use the Present Simple.

Examples
  • I visited my mother yesterday. CORRECT
  • I went the post office two months ago. CORRECT

Use the following time expressions with the Present Perfect:
  • already
  • yet
  • before
  • never
  • recently
  • at last
  • ever
  • just
  • lately
Examples
  • Have you ever been to Great Britain?

Comments

So if time expressions can't be used in Present perfect tense, then why does this sentence appear?

*I've eaten 10 apples TODAY!!*

The second rule~ Present perfect tense is used when the past action has an effect in the present------CAN THIS ACCEPT TIME EXPRESSIONS?

When you say... I've eaten ten apples today... u are still in today... so the fact that 'you have eaten apples' is still affecting you... (It havent passed yet. You are still in the same day)

why cant YESTERDAY be used in that situation?
-I have lived here since 1960..(correct , means i m still living there nw)
-I have lived here since YESTERDAY(how bout this? i m still living there , and i have started ytd)
can u explain ? i m confused....