Há anos é a forma mais usada, indicando tempo passado, ou seja, tempo que já decorreu: Eu não o vejo há anos!
A anos é utilizado quase sempre com a preposição daqui, indicando tempo futuro, ou seja, que ainda não decorreu: Só daqui a anos saberemos a verdade.
Há anos: indica tempo passado
A expressão há anos indica, principalmente, tempo passado. O verbo haver atua como um verbo impessoal, sendo sempre conjugado na 3.ª pessoa do singular.
Exemplos com há anos indicando tempo passado
Isso aconteceu há anos.
Há anos que não vejo meus primos.
Ele foi embora das nossas vidas há dois anos.
Há dez anos que eu espero por esse dia!
Eu estou nesse emprego há mais de um ano.
Eu já o conheço há mais de vinte anos.
Eu já te pedi esse trabalho há anos!
Não é necessário o uso do advérbio atrás para indicar tempo passado. O verbo haver já tem essa função. Há muitos anos atrás é uma expressão redundante. O correto é: há muitos anos.
Dica!
Para saber se é correto escrever há, substitua há por faz e verifique se mantém o sentido. Se mantiver, está correto escrever há:
Há anos que espero por essa oportunidade!
Faz anos que espero por essa oportunidade!
Ele regressou do Canadá há três anos.
Ele regressou do Canadá faz três anos.
Há anos: indica tempo que existe
Há anos pode indicar também tempo que existe:
Há anos em que chove muito. Há anos em que não chove nada.
Pelas fotos vejo que há anos em que você está mais magra e há anos em que você está mais forte.
Quando isso ocorre, o verbo haver pode ser substituído pelo verbo existir ou pelo verbo ter:
Há anos em que chove muito.
Existem anos em que chove muito.
Tem anos em que chove muito.
A anos: indica tempo futuro
A expressão a anos indica tempo futuro. Essa noção temporal de futuro é transmitida pela preposição a.
Exemplos com a anos indicando tempo futuro
Daqui a anos, quando você for mais velho, vai me dar o devido valor.
Ele está a anos de se aposentar.
Ainda estou a anos de concluir meus estudos.
Ele sairá da prisão daqui a dez anos.
Só daqui a um ano a implementação do projeto estará concluída.
Daqui a dois anos a casa estará construída.
Diferença entre há e a: tempo passado e tempo futuro
A distinção entre tempo passado (há) e tempo futuro (a) ocorre também com outras expressões de tempo.
Graduada em Letras pela Universidade Federal de Minas Gerais (UFMG), é professora de Língua Portuguesa, autora de materiais didáticos e revisora de textos. Apaixonada pela escrita e pelo ensino de língua materna, produz conteúdos educacionais desde 2009 e carrega o propósito de levar educação de qualidade a todos.