Serialização de um objeto com atributo Date

3 respostas
Henrique.tenorio

Tenho um aplicação web na internet que serializa um objeto que tem um atributo Date. Uma aplicação cliente recebe o objeto da internet e desserializa o objeto, mas com a data diferente daquela que estava no servidor. Se no servidor o objeto Date era 28/06/13, na aplicação cliente, se transforma não sei como em: 27/06/13, sumiu um dia!!! Não tenho ideia do que pode ser isso.

Desde já agradeço a colaboração.

3 Respostas

juno.rr

Objetos java.util.Date não devem ser serializados diretamente, pois podem causar uma série de inconsistências dependendo do do ambiente de execução. Para serializar datas, transforme-as em outra coisa, como string ou long. É a melhor solução.

C

Henrique.tenorio:
Tenho um aplicação web na internet que serializa um objeto que tem um atributo Date. Uma aplicação cliente recebe o objeto da internet e desserializa o objeto, mas com a data diferente daquela que estava no servidor. Se no servidor o objeto Date era 28/06/13, na aplicação cliente, se transforma não sei como em: 27/06/13, sumiu um dia!!! Não tenho ideia do que pode ser isso.

Desde já agradeço a colaboração.

Isso é normal. Um objeto Date não é uma data mas um ponto no tempo, e um ponto no tempo pode estar associado a datas diferentes dependendo do local que estiver; por exemplo, agora é 28/06 no Brasil mas 29/06 para um cliente no Japão.

O que o amigo disse, pra transferir uma data entre sistemas use um formato de data, uma boa pedida é usar ISO8601 (yyyy-mm-ddTHH:MMZ).

Henrique.tenorio

Vou tentar as dicas de vocês, depois posto aqui o que ocorreu, também vou tentar configurar essa data através de um objeto Locale pra ver si resolve.

Criado 28 de junho de 2013
Ultima resposta 28 de jun. de 2013
Respostas 3
Participantes 3