Olá amigos ,
Tenho uma data inicial e uma data final , gostaria de calcular o numero de dias entre as duas…
Ah e gostaria de sabe tbm como faço para testar a partir de uma data , qual dia da semana ela representa ?
Olá amigos ,
Tenho uma data inicial e uma data final , gostaria de calcular o numero de dias entre as duas…
Ah e gostaria de sabe tbm como faço para testar a partir de uma data , qual dia da semana ela representa ?
Esses são assuntos que já foram bastante discutidos no GUJ. Aconselho também dar uma estudada na API do GregorianCalendar e também no JODATIME (esse último eu particularmente nunca usei de fato).
Use para isso a biblioteca Joda-Time. Aí o código fica simples assim:
LocalTime start = new LocalTime("10:00:00");
LocalTime end = new LocalTime("11:30:00");
Period period = new Period(start, end);
System.out.println("Entre as duas datas há: " + period.getDays() + " dias, "
+ period.getHours() + " horas "
+ period.getMinutes() + " minutos.");
Agora, não use a classe Calendar do Java. É muito ineficiente, difícil de usar e sujeita a erros.
As classes do Joda estão sendo cogitadas para substituirem os calendários do Java em versões futuras.
Calculando número de dias
Locale locale = new Locale("pt_BR");
TimeZone zona = TimeZone.getTimeZone("GMT-3");
Calendar d1 = Calendar.getInstance(zona, locale);
Calendar d2 = Calendar.getInstance(zona, locale);
d1.setTime(data1);//data1 é o parâmetro passado.
d2.setTime(data2);//data2 é o parâmetro passado.
int dia = (int) ((d1.getTimeInMillis() - d2.getTimeInMillis()) / (24 * 60 * 60 * 1000));