Alterar data/horário da máquina

4 respostas
V

Olá.

Gostaria de saber se é possível alterar data/horario da máquina pelo java. Se sim, como pode ser feito…

Obrigado.

4 Respostas

ViniGodoy

Não, não é.

Você pode usar JNI ou JNA para mapear uma chamada a API do Windows e alterar o horário. Porém, não é uma boa prática a aplicação alterar o horário da máquina. Geralmente, o ideal é você trabalhar com um fuso horário, dentro da própria aplicação.

V

ViniGodoy:
Não, não é.

Você pode usar JNI ou JNA para mapear uma chamada a API do Windows e alterar o horário. Porém, não é uma boa prática a aplicação alterar o horário da máquina. Geralmente, o ideal é você trabalhar com um fuso horário, dentro da própria aplicação.

Entendo. Na verdade a idéia é rodar em cliente/servidor e o cliente requisita o horario pro servidor, que retorna o horario e o client sincroniza de acordo com a resposta. Seria um NTP só que entre N clientes e 1 servidor. Apenas fuso horario, acho que nao funciona bem, pois se o horario do cliente for desconfigurado, ele só vai voltar ao normal se for alterado manualmente. Certo ?

ViniGodoy

Você teria que sincronizar o cliente com o servidor, usando para isso um método pra fazer o delta no cliente. E salvar esse delta antes de sair do programa e ressincronizar de vez enquando. Mas é melhor não mexer na máquina do seu cliente, a menos que seu programa seja exclusivo para isso. Nesse caso, não use java.

A API Joda-Time já tem bindings para a inserção desse tipo de delta. Você pode passar para ela um “atraso” (ou adiantamento) que você quer que todas as classes dela operem.

V

ViniGodoy:
Você teria que sincronizar o cliente com o servidor, usando para isso um método pra fazer o delta no cliente. E salvar esse delta antes de sair do programa e ressincronizar de vez enquando. Mas é melhor não mexer na máquina do seu cliente, a menos que seu programa seja exclusivo para isso. Nesse caso, não use java.

A API Joda-Time já tem bindings para a inserção desse tipo de delta. Você pode passar para ela um “atraso” (ou adiantamento) que você quer que todas as classes dela operem.

Na verdade, nao tenho duvidas quanto ao calculo do delta, podendo ser RTT/2. A duvida é realmente como alterar data/hora da máquina, pois esta é uma das principais funcionalidades do software, sendo ele desenvolvido em java. Sabe dizer se a API Joda-time altera o horario da máquina?

Criado 13 de junho de 2010
Ultima resposta 13 de jun. de 2010
Respostas 4
Participantes 2