A regra prática
Há é forma do verbo haver no sentido de "existe" ou "faz" (tempo) — usado para tempo PASSADO, decorrido: "Não o vejo há dois anos" (faz dois anos). A (sem acento, preposição) é usado para tempo FUTURO, a contar de agora: "Daqui a dois anos estarei formado".
O truque infalível
Troque por "faz" ou "existe": se fizer sentido, é há. Se a frase fala de algo que ainda vai acontecer (dali pra frente), é a.
Exemplos
Passado (há): "moro aqui há cinco anos" (faz cinco anos), "há tempos não o vejo".
Futuro (a): "o evento será daqui a um mês", "chego a tempo daqui a uma hora".
Combinação "há...a"
É possível usar as duas na mesma frase referindo-se a momentos diferentes: "há um ano, prometi terminar o curso daqui a seis meses".
Perguntas frequentes
Como saber se uso "há" ou "a" numa frase de tempo?
Se pode trocar por "faz" (tempo já passado), use "há". Se é tempo que ainda vai chegar, use "a", sem acento.
"Daqui a pouco" é com "há" ou "a"?
Com "a", porque "daqui a pouco" se refere a um momento futuro, próximo.
"Há dois dias" está correto?
Sim, quando quer dizer "faz dois dias" (tempo decorrido, passado).
Esse erro é comum em concursos?
Muito — é um dos erros de português mais cobrados em provas no Brasil.