Ajuda com hora

Tem alguma forma de pegar a hora desse site: http://www.horariodebrasilia.org Com o JAVA?

tem sim amigo segue:

package httpsslconnection;

import java.net.MalformedURLException;
import java.net.URL;
import java.io.*;
import java.net.HttpURLConnection;

/**
 * Classe que faz conexão em URL's HTTP.
 *
 * @author Dilnei Cunha.
 */
public class HttpConnection {

    /**
     * Método principal que executa a aplicação.
     *
     * @param args
     */
    public static void main(String[] args) {
        new HttpConnection().conectaHttp();
    }

    /**
     * Método responsavel por abrir a conexão a uma URL HTTP e obter um
     * inputstream dos dados de retorno.
     */
    private void conectaHttp() {

        String urlHttps = "http://www.horariodebrasilia.org/";
        URL url;
        try {

            url = new URL(urlHttps);
            HttpURLConnection con = (HttpURLConnection) url.openConnection();

            buscaConteudoDaPagina(con);

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    /**
     * Método que imprime o conteúdo no console.
     *
     * @param httpURLConnection
     */
    private void buscaConteudoDaPagina(HttpURLConnection httpURLConnection) {
        if (httpURLConnection != null) {

            try {

                System.out.println("****** Conteúdo da URL HTTP ********");
                BufferedReader br = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));

                StringBuilder builder = new StringBuilder();
                String input;

                while ((input = br.readLine()) != null) {
                    builder.append(input);
                }
                br.close();

                String conteudo = builder.toString();

                int posicaoInicial = conteudo.indexOf("<p id='relogio'>") + 16;
                int posicaoFinal = conteudo.indexOf("</p>");
                String hora = conteudo.substring(posicaoInicial, posicaoFinal);
                System.out.println("A hora do site é: " + hora);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

Ops Desculpa dupliquei sem querer.
Abaixo o post original

esse horario é o horario brasileiro de brasilia.
você usar o date
pegar horas minutos e segundos e dia_da_semana
e usar um swith neles para mostrar do jeito que ta lá!
com SimpleDateFormat, fica simples.

procura por SimpleDateFormat

[code]
import java.util.Date;
import java.text.SimpleDateFormat;

public class data
{
String mes, dia, ano, dia_semana, hora;
SimpleDateFormat horaformatada = new SimpleDateFormat(“HH:mm:ss”);

public void le_hora()
{ 
    Date horaAtual = new Date();
    hora = horaformatada.format(horaAtual);
}        

public void le_data()
{ 
    Date data = new Date();
    dia = ""+data.getDate();
    ano = ""+(1900 + data.getYear());
    
    switch(data.getMonth())
    { 
        case 0: mes = "Janeiro";break;
        case 1: mes = "Fevereiro";break;
        case 2: mes = "Março";break;
        case 3: mes = "Abril";break;
        case 4: mes = "Maio";break;
        case 5: mes = "Junho";break;
        case 6: mes = "Julho";break;
        case 7: mes = "Agosto";break;
        case 8: mes = "Setembro";break;
        case 9: mes = "Outubro";break;
        case 10: mes = "Novembro";break;
        case 11: mes = "Dezembro";break; 
    }    
    switch(data.getDay())
    { 
        case 0: dia_semana = "Domingo";break;
        case 1: dia_semana = "Segunda-Feira";break;
        case 2: dia_semana = "Terça-Feira";break;
        case 3: dia_semana = "Quarta-Feira";break;
        case 4: dia_semana = "Quinta-Feira";break;
        case 5: dia_semana = "Sexta-Feira";break;
        case 6: dia_semana = "Sábado";break;    
    }
}       

}[/code]

Com essa classe acima a hora será mostrada assim:
Segunda-Feira, 20 de Maio de 2013 12:32:45

Qualquer duvida é só postar!

Se for para pegar o horário certo, eu recomendo usar próprio Network Time Protocol, que é o padrão mundial para sincronizar data e hora.

Duas formas de fazer isso:

  • Ligar a atualização automática de horário no teu computador. Depois executar um new Date() em cima disso.
  • Usar um cliente Java de NTP.

Edit:

painhoo2, todo esse código que você fez dá pra fazer só com o SimpleDateFormat. Ele não serve só para formatar hora, ele também escreve datas e dias da semana por extenso. Veja o Javadoc dele.

[quote=Bruno Laturner]Se for para pegar o horário certo, eu recomendo usar próprio Network Time Protocol, que é o padrão mundial para sincronizar data e hora.

Duas formas de fazer isso:

  • Ligar a atualização automática de horário no teu computador. Depois executar um new Date() em cima disso.
  • Usar um cliente Java de NTP.

Edit:

painhoo2, todo esse código que você fez dá pra fazer só com o SimpleDateFormat. Ele não serve só para formatar hora, ele também escreve datas e dias da semana por extenso. Veja o Javadoc dele.[/quote]

Hehehe, Desculpa se não é o metodo mais certo para se fazer isso, mais essa foi a gambiarra achada para eu conseguir fazer isso em java!
Ainda estou meio que Ingatinhando em java!

Se você soubesse o quanto eu pesquisei e lutei para conseguir isso ai, foi uma verdadeira briga!

Obrigado painhoo2 e Bruno Laturner! Mas eu preciso de uma hora que não seja a do próprio computador.

[quote=aix]tem sim amigo segue:

[code]
package httpsslconnection;

import java.net.MalformedURLException;
import java.net.URL;
import java.io.*;
import java.net.HttpURLConnection;

/**

  • Classe que faz conexão em URL’s HTTP.

  • @author Dilnei Cunha.
    */
    public class HttpConnection {

    /**

    • Método principal que executa a aplicação.
    • @param args
      */
      public static void main(String[] args) {
      new HttpConnection().conectaHttp();
      }

    /**

    • Método responsavel por abrir a conexão a uma URL HTTP e obter um

    • inputstream dos dados de retorno.
      */
      private void conectaHttp() {

      String urlHttps = “http://www.horariodebrasilia.org/”;
      URL url;
      try {

       url = new URL(urlHttps);
       HttpURLConnection con = (HttpURLConnection) url.openConnection();
      
       buscaConteudoDaPagina(con);
      

      } catch (MalformedURLException e) {
      e.printStackTrace();
      } catch (IOException e) {
      e.printStackTrace();
      }

    }

    /**

    • Método que imprime o conteúdo no console.

    • @param httpURLConnection
      */
      private void buscaConteudoDaPagina(HttpURLConnection httpURLConnection) {
      if (httpURLConnection != null) {

       try {
      
           System.out.println("****** Conteúdo da URL HTTP ********");
           BufferedReader br = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
      
           StringBuilder builder = new StringBuilder();
           String input;
      
           while ((input = br.readLine()) != null) {
               builder.append(input);
           }
           br.close();
      
           String conteudo = builder.toString();
      
           int posicaoInicial = conteudo.indexOf("<p id='relogio'>") + 16;
           int posicaoFinal = conteudo.indexOf("</p>");
           String hora = conteudo.substring(posicaoInicial, posicaoFinal);
           System.out.println("A hora do site é: " + hora);
       } catch (IOException e) {
           e.printStackTrace();
       }
      

      }
      }
      }
      [/code][/quote]

Funcionou, mas ele sempre pega o mesmo horário:

****** Conteúdo da URL HTTP ********
A hora do site é: 05:43:40

Tentei descobrir o por quê mas não consegui!

Dê uma olhada no link que postei, na parte de Attachments.

[quote=rodazzz][quote=aix]tem sim amigo segue:
[/quote]

Funcionou, mas ele sempre pega o mesmo horário:

****** Conteúdo da URL HTTP ********
A hora do site é: 05:43:40

Tentei descobrir o por quê mas não consegui![/quote]

Você quer que a hora fique atualizando é isso?
EX: 05:43:40,05:43:41,05:43:42,05:43:43 e etc…
se for isso você pode usar o timerbean.jar
procura no google que você encontra ele.
espero ter ajudado.

[quote=painhoo2][quote=rodazzz][quote=aix]tem sim amigo segue:
[/quote]

Funcionou, mas ele sempre pega o mesmo horário:

****** Conteúdo da URL HTTP ********
A hora do site é: 05:43:40

Tentei descobrir o por quê mas não consegui![/quote]

Você quer que a hora fique atualizando é isso?
EX: 05:43:40,05:43:41,05:43:42,05:43:43 e etc…
se for isso você pode usar o timerbean.jar
procura no google que você encontra ele.
espero ter ajudado. [/quote]

Na verdade atualizar não é o problema. O problema mesmo é que quando puxa a hora do site, ela sempre vem como 05:43:40. Até agora não consegui entender o por quê disso.