Olá.
Gostaria de saber se é possível alterar data/horario da máquina pelo java. Se sim, como pode ser feito…
Obrigado.
Olá.
Gostaria de saber se é possível alterar data/horario da máquina pelo java. Se sim, como pode ser feito…
Obrigado.
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.
[quote=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.[/quote]
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 ?
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.
[quote=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.
[/quote]
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?