Pessoal sei q parece simples mas estou me complicando um pouco aqui, e a coisa é meio urgente…
eu quero pegar o horario do pc, independente do timezone… eu quero salvar no banco e carregar novamente.
Mas eu pego esse horario do pc em varios locais do meu codigo, estava usando o calendar e depois System.currentTimeMillis().
eu so quero pegar a data e hora do pc independente do timezone, alguem pode me dar uma mão?
A classe Date faz isso.
A classe Calendar faz isso.
A classe GregorianCalendar faz isso.
A questão é, como você quer pegar.
Há inúmeros exemplos no guj e no google, já pesquisou?
Se já, o que não entendeu?
Edit: Retiro o que eu disse, eu não entendi o requerimento.
A coisa é pra ser simples…
Calendar novo = Calendar.getInstance();
String ra = String.valueOf(novo.get(Calendar.HOUR_OF_DAY))+":"+
String.valueOf(novo.get(Calendar.MINUTE))+":"+
String.valueOf(novo.get(Calendar.SECOND));
jLabel5.setText(ra);
independente do pais ou timezone… eu quero pegar a hora e data do pc…
isso resolve o meu problema ou n ??
TimeZone timeZone = TimeZone.getDefault();
Calendar novo = Calendar.getInstance(timeZone);
Date d = new Date();
SimpleDateFormat sd = new SimpleDateFormat("HH:MM");
System.out.println(sd.format(d));
Qual a saída?
Ah, se é para jogar no banco, tem a java.sql.Time…
A forma mais simples é usando Date
Date dataAtual = new Date();
Apenas isso. instanciando um Date você já tem a hora e a data atual.
mas se você precisa da data por um timezone específico ou precisa fazer operações com a data (somar, subtrair meses dias e anos por exemplo) ai o melhor é usar Calendar.
E para mim usar um calendar, pois vou fazer operações sim!
Como devo criar o calendar para pegar data e hora do pc???
java.sql.Date
//assim n funciona...
Date dataLeitura = new Date(System.currentTimeMillis());
Usa o Date do java.util.Date e o Calendar do java.util.Calendar
nesse exemplo adiciona um mês ao mes atual. a data final será 27 de junho de 2011
Date dataLeitura = new Date();
Calendar novaData = Calendar.getInstance();
novaData.setTime(dataLeitura );
novaData.add(Calendar.MONTH, 1);
dataLeitura = novaData.getTime();
Depois você pode inserir este date no banco
Para adicionar uma hora no banco de dados, utilizando preparedStatement, apenas utilize a classe Time, do pacote java.sql
PreparedStatement ps = con.prepareStatement(stringQuery);
ps.setTime(1, new java.sql.Time(new Date().getTime()));