Buscando a data e hora oficial de Brasilha

Boa Tarde.
Eu sou novo no Java e estou com uma duvida. Provavelmente alguem ja deve ter perguntado algo parecido.

É possivel buscar a data e hora oficial de Brasília (Buscando da internet) ou apenas a data do sistema ?

Eu sei buscar a data do sistema, mas preciso ter 100 % de certeza que a data e hora esteja correto. Se eu eu modificar a hora no windows, a meu metodo ja estaria inconsistente.

Agradeço a ajuda

Valeu Cara… Ja arrumei a palavra escrita errada .Referente ao site, não tem nada nele que possa me ajudar.

Então meu amigo…sei como é quando se é iniciante. Não se preocupe…o GUJ nasceu no intuito de ajudar e tirar as dúvidas mesmo.
Vamos lá…você consegue de duas ou até mais formas…depende do quanto você for se aprofundar. Eu particularmente utilizo bastante as bibliotecas do Joda. A documentação é bem simples de entender. Também você pode utilizar "GregorianCalendar ", que é a mais conhecida.

1ª possibilidade utilizando Joda:

[code]import java.util.Date;
import java.util.TimeZone;

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;

public class TestesDatas {

 private static final String TIME_ZONE = "America/Sao_Paulo";  
/**
 * @param args
 */
public static void main(String[] args) {
	
	TimeZone.setDefault(TimeZone.getTimeZone(TIME_ZONE));  
    DateTimeZone.setDefault(DateTimeZone.forID(TIME_ZONE));  
      
    Date data = new Date();  
    DateTime dataInicial = new DateTime();  
    Date dataConvertida = dataInicial.toDate();  
    DateTime dataReconvertida = new DateTime(dataConvertida);  

    Date teste = new Date(dataInicial.getMillis());  
      
    System.out.println("Data simples:      " + data);  
    System.out.println("Data inicial:      " + dataInicial);  
    System.out.println("Data converitda:   " + dataConvertida);  
    System.out.println("Data reconvertida: " + dataReconvertida);  
    System.out.println("Data teste:        " + teste);  

}

}[/code]

2ª possibilidade utilizando GregorianCalendar :

[code]import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.Locale;

public class DataFormatada {

private String data;  
Locale locale = new Locale("pt","BR");  
GregorianCalendar calendar = new GregorianCalendar();  

 public void data(String formato){  
     
      SimpleDateFormat formatador = new SimpleDateFormat(formato,locale);  
      setData(formatador.format(calendar.getTime()));
       System.out.println(data);
   }  
        
   /** 
    * Retorna a data formatada 
    * @return 
    */  
   public String getData() {  
     return data;  
   }  
     
   /** 
    * Seta a data do log 
    * @param newDataLog 
    */  
   public void setData(String newData) {  
     this.data = newData;  
   }  

/**
 * @param args
 */
public static void main(String[] args) {
	DataFormatada d=new DataFormatada();
	d.data("dd/MM/yyyy" + "-" + " " + "h:mm - a");
}

}[/code]

Espero ter ajudado.

Um abraço.

Boa Tarde arthurgon. Valew pelo help.

Contudo a segunda forma que você me mostrou, usa a data do sistema e não a oficial. Eu Alterei a data do windows para o dia 4 e o programa trouxe dia 4 e nao o dia de hoje .
ja a primeira forma, utiliza um pacote que eu nao tenho. é necessario baixar da net esse pacote ou ele é nativo ?

Aguardo retorno

[quote=fabio_lpontes]Boa Tarde arthurgon. Valew pelo help.

Contudo a segunda forma que você me mostrou, usa a data do sistema e não a oficial. Eu Alterei a data do windows para o dia 4 e o programa trouxe dia 4 e nao o dia de hoje .
ja a primeira forma, utiliza um pacote que eu nao tenho. é necessario baixar da net esse pacote ou ele é nativo ?

Aguardo retorno[/quote]

Oi

Muito provavelmente você precise utilizar algo como Web Service. Terás de efetuar uma consulta em um servidor de brasilia (não que esteja geograficamente lá!) para que lhe forneça a data e hora atual. Podes fazer isso via Socket e etc, mas não sei se seria tão simples assim.

De resto é pesquisar na net mesmo.
Pessoal está achando que você quer pegar o horário da máquina…

Abraços.

Oi!

Tem este Web Service: http://www.nanonull.com/TimeService/TimeService.asmx
Método: getUTCTime

Diminua 3 horas devido ao fuso horário.
O único problema é que não sei ao certo a cidade que corresponde ao horário e não vi retornar a data, somente a hora.
Mas seria essa a idéia né?

Abraços.

O nel tem razão…eu também achei que fosse da máquina. Sendo assim não vejo outra forma senão via webservice. Só pra completar…a biblioteca do primeiro exemplo que citei se chama Joda e é fácil de baixar.

Abs.

De Brasilha eu não sei, mas de Brasília você pode verificar neste site se eles disponibilizam algo: http://www.horariodebrasilia.org/

[quote=fabio_lpontes]Valeu Cara… Ja arrumei a palavra escrita errada .Referente ao site, não tem nada nele que possa me ajudar.[/quote]No caso, sugiro entrar em contato com eles pra ver se eles fornecem algo para ajudá-lo.

Achei também este site: http://24timezones.com/pt_horamundial/brasilia_hora_local.php onde tem mais informações: http://24timezones.com/download_map_clock.htm mas creio que tenha que pagar pra usar.