pessoal pesquisei um pouco aqui no GUj e logo descobri a facilidade do uso do JODATime, no entanto quando eu faço esse tipo de diferença
LocalTime inicio = new LocalTime("22:00");
LocalTime fim = new LocalTime("00:15");
Period period = new Period(inicio, fim);
JOptionPane.showMessageDialog(null, "" + period.getHours() + ":"
+ period.getMinutes() );
retorna o valor -21:-50
alguém pode ajudar com essa situação?
Cara, creio que esteja certo, pois voce esta subtraindo 00:00 de 22:00. Imagine que 00:00 indica o inicio do dia 25/10/2011, entao 22:00 eh um horarior do dia 25/10/2011 posterior a 00:00, por isso o resultado eh negativo.
Olha, imagino q a JODA tenha como comparar o intervalo em horas para uma determinada data. Eu ja fiz algo semelhante, mas eu precisava da diferenca em dias, entao eu trabalhei com a classe Days. Veja a classe Hours, ela tem um metodo que retorna as horas entre duas “datas”, sendo que para construir as datas voce pode trabalhar com a classe
DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour)
COnseguii =D
eu resolvi passando como parâmetro não uma String, mas sim um Objeto do tipo Date
o código ficou assim caso alguem venha a ter mais alguma dúvida.
DateTime inicio = new DateTime(dataEntrada);
DateTime datafinal = new DateTime(dataFinal);
Period periodo = new Period(inicio, datafinal);
JOptionPane.showMessageDialog(null, periodo.getHours() + " :"
+ periodo.getMinutes());