14.2 (with English perfect tenses)
Use hace...que and the present to describe actions and states that started in the past and are still going on. Alternatively use the present and desde hace. Another option is sometimes llevar and the gerund. Don't use the present perfect in Spanish to translate phrases like these, unless they are in the negative.
he has been learning French for two years hace dos años que estudia francés, estudia francés desde hace dos años, lleva dos años estudiando francés
it has not rained for 3 weeks hace 3 semanas que no llueve, no llueve or no ha llovido desde hace 3 semanas, lleva 3 semanas sin llover
I have known her for years hace años que la conozco, la conozco desde hace años
I haven't seen her for two years hace dos años que no la veo, no la he visto desde hace dos años, no la veo desde hace dos años, llevo dos años sin verla
Notice how the tenses change when talking about something that had happened or had been happening for a time:
he had been learning French for two years hacía dos años que estudiaba francés, estudiaba francés desde hacía dos años, llevaba dos años estudiando francés
I hadn't seen her for two years hacía dos años que no la veía, no la había visto desde hacía dos años, no la veía desde hacía dos años, llevaba dos años sin verla