Não consigo passar o TimeZone para o SimpleDataFormat.
Quando passo apenas para o Calendar, funciona normal. Mas quando vou formatar para pegar somente os dados que eu preciso (que no caso é hh:mm) não vai.
segue o código…
doubleqtdeAulas=Double.parseDouble(txtEventosAgQtde.getText());//retorna um valor digitado no txtfieldSimpleDateFormatformatoData=newSimpleDateFormat("hh:mm");Stringdata=formatEventosAgHrInicio.getText();TimeZonetz=TimeZone.getTimeZone("GMT-3");formatoData.setTimeZone(tz);TimeZone.setDefault(tz);Calendarc=GregorianCalendar.getInstance(tz);try{c.setTime(formatoData.parse(data));}catch(ParseExceptionex){Logger.getLogger(TelaCadEventosAg.class.getName()).log(Level.SEVERE,null,ex);}c.add(Calendar.MINUTE,(int)(qtdeAulas*60.0));//cada "qtdeAulas" corresponde a 1 hora. formatEventosAgHrFim.setText(formatoData.format(c.getTime()));
Cara você vai precisar do TimeZone para salvar hora e minuto atual?
E
entanglement
java.util.Date e java.util.Calendar não são adequados para trabalhar com intervalos de tempo (do tipo 560 minutos = 9 horas 20 minutos, que é o tipo de coisa que você quer fazer), apenas com instantes absolutos de tempo (do tipo "23 de julho de 2012, 12:34:56.789?.
O correto nesse caso ou é fazer a conta no braço (que no seu caso é decepcionantemente fácil, basta fazer contas com / e %) ou então usar o Joda-Time (que no seu caso em particular também não é muito adequado - um valor como 1551 minutos ele mostraria como 1 dia, 1 hora, 51 minutos em vez das desejadas (pelo que imagino) 25 horas e 51 minutos.
R
rodrigo_poletini
cembjr, vamos lá…
Quado retorno a hora, me retorna 2:00.
Mas eu quero retorne 14:00.
se não é o timezone que faz isso, é o que então?
grato
C
cembjr
newSimpleDateFormat("HH:mm").format(newDate());
Tenta isso ai!
C
cembjr
O "hh:mm" retorna no formato 12 horas. já o "HH:mm" é no formato 24 horas! Espero que isso te ajude
R
rodrigo_poletini
entanglement:
java.util.Date e java.util.Calendar não são adequados para trabalhar com intervalos de tempo (do tipo 560 minutos = 9 horas 20 minutos, que é o tipo de coisa que você quer fazer), apenas com instantes absolutos de tempo (do tipo "23 de julho de 2012, 12:34:56.789?.
O correto nesse caso ou é fazer a conta no braço (que no seu caso é decepcionantemente fácil, basta fazer contas com / e %) ou então usar o Joda-Time (que no seu caso em particular também não é muito adequado - um valor como 1551 minutos ele mostraria como 1 dia, 1 hora, 51 minutos em vez das desejadas (pelo que imagino) 25 horas e 51 minutos.
cara, acho que não me expressei direito.
eu quero algo bem simples… o usuario digita em um campo ex:
qtde de aulas: 2
hr inicio : 14:00
dai quero calcular o hr final.
hr fim: 16:00 - mas o sistema ia calculas esse horario automaticamente.
A solução que encontrei foi usar o calendar e multiplicar os minutos. Ele calcula direitinho, porem, me retorna as hrs em 4:00 e eu quero 16:00.
Se não ficou claro, por favor só falar.
grato
R
rodrigo_poletini
Exatamente isto!! hehe
desculpe a ignorancia estou aprendendo agora a progamar…