"You are late! I have waited for 20 minutes"
"You are late! I waited for 20 minutes"
We are told if you see "for+ specific time" you should use present perfect so the first one must be true.
What are your thoughts?
English Language Learners Stack Exchange is a question and answer site for speakers of other languages learning English. It only takes a minute to sign up.Sign up to join this community
In this example, you need present perfect continuous, which is used to describe an event that began at some point in the past and has continued up until the present.
You are late. I have been waiting for 20 minutes. (I have only just now stopped waiting for you, because you've arrived.)
Past simple would be used for an action completed in the past:
You were late. I waited for 20 minutes, then I went home.
Present perfect is used for a finished action at an uncertain time in the past.
I have waited for 20 minutes in that shop at times, but yesterday I only waited for ten minutes.
Edit to add:
The present perfect continuous usually emphasises duration, or the amount of time that an action has been taking place.
The present perfect it means that something has happened at some point in our lives before now. It is also used for verbs which don't have a continuous form.
The present perfect usually focuses on the result of the activity in some way, and the present perfect continuous usually focuses on the activity itself in some way.
We often use for, since and how long with the present perfect continuous to talk about ongoing single or repeated actions.