Pegar hora fora do computador

Fala pessoal, eu to com um problema que eu não estou conseguindo resolver. Numa parte do meu programa eu preciso pegar a hora, mas ela não pode ser a do computador. Qual a maneira mais simples de se fazer isso? Não precisa por o codigo aqui se não quiser só falar o que pesquisar já esta blz ;D

Bom dia Amigo vc pode fazer o uso da biblioteca Apache Commons Net
link http://commons.apache.org/proper/commons-net/download_net.cgi

segue código

import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Date;
import org.apache.commons.net.ntp.NTPUDPClient;
import org.apache.commons.net.ntp.TimeInfo;
import java.text.*;



public class ExJodaTime {

    public static void main(String[] args) throws IOException {
        try {

            SimpleDateFormat sdf1= new SimpleDateFormat("dd/MM/yyyy HH:MM");//se quiser apenas a hora apague o formato da data


    String ntpServer = "a.st1.ntp.br";//servidor de horario brasileiro
 
    NTPUDPClient timeClient = new NTPUDPClient();
    InetAddress inetAddress = InetAddress.getByName(ntpServer);
    TimeInfo timeInfo = timeClient.getTime(inetAddress);
    long returnTime = timeInfo.getReturnTime();
    Date time = new Date(returnTime);
    System.out.println("Hora para " + ntpServer + ": " + sdf1.format(time));
} catch (UnknownHostException ex) {
}   
        
    }
}

Eu fiz o download do: commons-net-3.3-bin.zip, mas não sei onde coloca-lo =/. Eu procurei no google mas não encontrei conteúdo que ajudasse.

Então eu gostaria saber, onde e como eu coloco essa pasta que foi extraída do download que eu fiz para que o eclipse reconheça?

blz cara acabei de testa o codigo q nosso amigo passou, ele funciona o seu problema agora é importar a biblioteca,

você baixou o “commons-net-3.3-bin.zip” eu testei exatamente com essa biblioteca nele tem um arquivo “commons-net-3.3.jar” é esse arquivo que você deve importar no seu projeto, se você está usando netBeans va no seu projeto clique com o botão direito em cima de bibliotecas e “add jar/pasta” e selecione o arquivo que eu disse “commons-net-3.3.jar” feito isso pronto basta copiar o código do nosso amigo em cima e vai funcionar.

Consegui, valeu! O código funcionou certinho pegando a hora, mas ta igual ao date, porque quando eu mudo a hora do PC o programa muda a hora também =/. Eu precisaria de alguma forma fazer com que mesmo mudando o horário do PC, o programa ainda seguisse o horário de brasília normal. Sera tem como fazer isso? Eu tentei pegar desse site aqui: http://www.horariodebrasilia.org/ mas não consegui =/

segue tuto como add blibioteca ao eclipse

www.flaviojmendes.com/blog/2009/08/24/tutorial-adicionar-biblioteca-no-eclipse/

[quote=Janerson]segue tuto como add blibioteca ao eclipse

www.flaviojmendes.com/blog/2009/08/24/tutorial-adicionar-biblioteca-no-eclipse/[/quote]

Valeu, o problema da biblioteca esta resolvido. Mas ainda tem o seguinte problema:

[quote=rodazzz][quote=Janerson]segue tuto como add blibioteca ao eclipse

www.flaviojmendes.com/blog/2009/08/24/tutorial-adicionar-biblioteca-no-eclipse/[/quote]

Valeu, o problema da biblioteca esta resolvido. Mas ainda tem o seguinte problema:

bom dia amigo!!!
estranho isso
fiz o teste aqui com a hora errada e deu certo e depois fiz o teste novamente para ter certeza e não deu certo
vou pesquisar e estudar assim que resolver te dou um retorno


public Date buscaDataHora() {	

		// Lista de servidores do NTP.br gratuitos do observatório nacional

		NTPUDPClient timeClient = new NTPUDPClient();

		InetAddress inetAddress;
		try {
			inetAddress = InetAddress.getByName("a.st1.ntp.br");
		} catch (UnknownHostException e) {
			try {
				inetAddress = InetAddress.getByName("b.st1.ntp.br");
			} catch (UnknownHostException e1) {
				try {
					inetAddress = InetAddress.getByName("c.st1.ntp.br");
				} catch (UnknownHostException e2) {
					try {
						inetAddress = InetAddress.getByName("d.st1.ntp.br");
					} catch (UnknownHostException e3) {
						try {
							inetAddress = InetAddress.getByName("a.ntp.br");
						} catch (UnknownHostException e4) {
							try {
								inetAddress = InetAddress.getByName("b.ntp.br");
							} catch (UnknownHostException e5) {
								try {
									inetAddress = InetAddress.getByName("c.ntp.br");
								} catch (UnknownHostException e6) {
									try {
										inetAddress = InetAddress.getByName("gps.ntp.br");
									} catch (UnknownHostException e7) {
										return null;
                                               // meio tosco mas foi o que pensei agora!
									}
								}
							}
						}
					}
				}
			}
		}

		TimeInfo timeInfo;
		try {
			timeInfo = timeClient.getTime(inetAddress);
		} catch (IOException e) {
			return null;
		}
		long returnDataHora = timeInfo.getReturnTime();
		Date retorno = new Date(returnDataHora);

		return retorno;
	}

Segue também uma lista de outros hosts mundiais e o jar necessário.

[quote=alcionj]

Segue também uma lista de outros hosts mundiais e o jar necessário.[/quote]

Sim mas funciona e nao funciona

se vc mudar a hora do pc o codigo nao retorna a hora do servidor ntp
e sim a hora do pc

Por que não coloca uma webcam e, na frente dela, um relógio? Aí você pega a hora ‘fora do computador’.