Когда сообщают о том, сколько прошло времени по настоящий момент, употребляют Present Perfect (I have lived in Moscow for 20 years = я живу (дословно: прожил по настоящий момент) в Москве 20 лет).
Has используется с подлежащим в третьем лице единственного числа (he, she, it), have - с остальными.