Li o tutorial sobre datas aqui do GUJ mas ainda me restam dúvidas.
O que eu realmente preciso é de uma classe com métodos que me permitam ter a diferença entre duas datas, em minutos, horas e dias. A classe Date me permite fazer isso transformando em long e comparando diretamente com valores long correspondentes ao tempo que eu quero (300000 = 5 minutos).
Também preciso saber se determinada data está edentro de uma faixa de horários (enter 7:00 e 16:00 por exemplo). Para isso eu estou achando que GregorianCalendar será melhor, pois trabalhando com Date, para datas com hora 0:00:00 e fazendo um MOD (%) com 86.400.000, que é o equivalente a 24h em milisegundos, estou obtendo um resto de 10.800, que são 3h. Acho que isso é porque no DateFormat estou usando o Locale correspondente a Brasil, certo?
Terei problema com essas 3h a mais se o programa for rodar em micros com outras configurações regionais? Ou o fato de eu ter de eu ter declarado " Locale brasil = new Locale(“pt”,“BR”) ", e utilizado essa variável no DateFormat, elimina qualquer chance de erro? Trabalhando com Gregoriancalendar eu irei ‘setar’ os valores de hora, minuto e segundo diretamente, independente de localidade, certo?
No fim das contas, acho que tenho que decidir entre a facilidade de contas do Date e a independência de localidade do GregorianCalendar, certo? Não tem nenhuma classe com tudo isso junto… ou tem?
Existe realmente algum impedimento de se utilizar Date? Existe alguma indicação de que ela vai virar deprecated ou é só suposição?
abraços,
Ricardo Grego