Learn English – “Have been waiting” vs “was waiting”

past-vs-present-perfect

suppose my friend promises me that he will meet me at 1 p.m but he comes to me a few hours later. Can I say to him "Hey John, where were you? I was/have been ​waiting here for a long time?" "Was" or "have been": which one should I use?

Best Answer

In many contexts (like this) both are fine.

Where have you been? I have been waiting for over an hour!

Where have you been? I was waiting for over an hour!

Both of these indicate an ongoing situation that has now resolved. The present perfect indicates the situation just resolved. The past continuous does not provide any time frame, but it will often be obvious from context.

He has been playing that game since noon (and only stopped when you came home).
He was playing that game all afternoon (and only stopped when you came home).

There may be a slight difference in nuance:

I have been studying for this test this whole week.
I was studying for this test this whole week.

"I have been studying" suggests I may be studying now, or will keep studying after we finish our conversation. "I was studying" suggests that I stopped for some reason, and may or may not continue.