Conversão de Date()

Por que acontece isso nessa expressão?

insertedDate = Mon Aug 09 17:19:00 BRT 2010

GregorianCalendar dataInitial = new GregorianCalendar(); dataInitial.setTime(new Date((new SimpleDateFormat("dd/MM/yyyy").format(insertedDate)))); // isso retorna Wed Sep 08 00:00:00 BRT 2010 !!

a data é dia 09 e na conversão, retorna dia 08, por que?

Não use o construtor de Date que aceita uma String. Você vai ter muitos problemas com ele (ele é “deprecated” por uma boa razão).

http://download-llnw.oracle.com/javase/6/docs/api/java/util/Date.html#Date(java.lang.String)

Ele provavelmente está tentando ler em formato americano, não brasileiro. E isso é que fez dar resultados errados.

Repita comigo: nunca mais vou usar o construtor de Date que aceita uma String. É pagar para ver problemas.