Ola,
Estou tendo dificuldades ao tentar converter a data que pego em DateTime para Timestamp, será que alguém pode me ajudar?
[code] // pega a data local
DateTime dt = new DateTime();
// traduz para a data local de SP
DateTime dtSP = dt.withZone(DateTimeZone.forID(“America/Sao_Paulo”));
// imprime a data certa de SP
System.out.println(dtSP);
Timestamp timestamp = new Timestamp(dtSP.getMillis());
System.out.println(timestamp); [/code]
Quando eu converto para Timestamp eu continuo pegando o horário local da máquina ao invéz do que vem no objeto dtSP, só na hora da conversão mesmo que pega a data local:
2010-01-18T13:29:57.864-02:00
2010-01-18 10:29:57.864
A representação interna dos dois horários é a mesma, eles estão certos. O que difere é o que você está imprimindo.
Passe este argumento p/ a tua máquina virtual qdo for rodá-la:
-Duser.timezone=America/Sao_Paulo
ou
-Duser.timezone=GMT-2
Olá pessoal, tudo bom? Gostaria de contar com a ajuda de vcs novamente. O problema é o seguinte:
-
tenho uma String que guarda horário, p.e. “12:30”
-
preciso gravar este valor no SQL Server, num campo do tipo Date.
-
transformei essa String em Timestamp, com o seguinte métod:
public static java.sql.Timestamp transformaHora(String hora) trows ParseException{//p.e. hora = “13:15”
DateFormat fmt = new SimpleDateFormat("HH:mm:ss");
java.sql.Timestamp hora = new java.sql.Timestamp(fmt.parse(hora).getTime());
return hora;
}
-
soh que o objeto da Timestamp está gravando nao soh a hora, mas tambem a data.
-
alguém sabe como resolver isto? Obrigada!!!