If a situation started in the past and is still true, English uses a present perfect form. Many languages use the present here, which makes this one of the most persistent mistakes.
The situation continues now, but the question is about the time before now, so have is needed.
| Present | Present perfect |
|---|---|
| Paul is in hospital. | He's been in hospital since Monday. |
| We know each other well. | We've known each other for years. |
| Do they have a car? | How long have they had their car? |
| She's waiting outside. | She hasn't been waiting long. |