[Resolvido]Diminuir 1 ano da data atual

Boa tarde pessoal estou com uma dúvida que ainda não consegui resolver o negócio é o seguinte tenho a data atual e preciso pegar a data de 1 ano antes(não to contando ano bissexto) então tento o seguinte

long data1AnoAntes = new Date().getTime() - (365 * 24 * 60 * 60 * 1000);
System.out.println("Data Atual: "+new Date());
System.out.println("Data 1 ano antes: "+new Date(data1AnoAntes));

Se executo esse código recebo a seguinte saída:

Data atual: Sun Dec 04 17:48:25 BRST 2011
Data 1 Ano Antes: Thu Nov 17 17:07:56 BRST 2011

ou seja está errado já que diminuiu apenas 17 dias e alguns minutos, então percebi que na hora do calculo que deveria me retornar o valor 31536000000 ele me retorna apenas 1471228928, com números pequenos com 1 dia antes ele me retorna certinho então a dúvida é o seguinte como vou fazer esse calculo? preciso usar a classe Calendar?

Obrigado a todos!

Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, -1);

Qual parte do deprecated você não entendeu na documentação do Date?

Calendar cal = Calendar.getInstance(); System.out.printf("Data atual: %F%n", cal); cal.add(Calendar.YEAR, -1); System.out.printf("Data atual: %F%n", cal);

Funcionou com seu código

Calendar c = Calendar.getInstance(); c.add(Calendar.YEAR, -1);

Obrigado, nem sabia que é tão simples usando Calendar. flw!

[quote=ViniGodoy]Qual parte do deprecated você não entendeu na documentação do Date?

Calendar cal = Calendar.getInstance(); System.out.printf("Data atual: %F%n", cal); cal.add(Calendar.YEAR, -1); System.out.printf("Data atual: %F%n", cal); [/quote]

Ué, nem sabia que tava usando algo deprecated

Pior ainda. Você não lê a documentação das classes que você usa?