Calculando Dia,Mes,Ano de vida com a classe calendar
6 respostas
F
felipebr00
Olá, Boa tarde a todos.
Estou começando agora na linguagem de programação e foi pedido para fazer um sistema em java com a classe calendar para calcular a o Dia,Mes,Ano de vida.
Achei muitas coisas sobre a classe calendar, mas não entendi como trata ele dentro da programação.
Camarada, a Classe Calendar permite que você utilize o método roll(int field, int amount);
isso significa que:
//10 dias atrásCalendarc=newGregorianCalendar();DateFormatdf=newSimpleDateFormat("dd/MM/yyyy");System.out.println(df.format(c.getTime()));c.roll(Calendar.DAY_OF_MONTH,-10);System.out.println(df.format(c.getTime()));
Como hoje é 14/09…
14/09/201104/09/2011
Os fields aceitos vão desde o dia do mês, semana, ano, até mês e ano.
good luck!!!
F
fdcarli
tem um tópico aqui no GUJ
julianolandim
calcula a idade, não sei é isso que voce quer
// importar na classe importjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.GregorianCalendar;importjava.math.BigDecimal;importjava.math.RoundingMode;// metodo que retorna o intervalo de dias entre duas datas publicStringcontaDias(StringdataInicialBR,StringdataFinalBR)throwsParseException{DateFormatdf=newSimpleDateFormat("dd/MM/yyyy");df.setLenient(false);DatedataInicio=df.parse(dataInicialBR);DatedataFim=df.parse(dataFinalBR);longdt=(dataFim.getTime()-dataInicio.getTime())+3600000;LongdiasCorridosAnoLong=(dt/86400000L);IntegerdiasDecorridosInt=Integer.valueOf(diasCorridosAnoLong.toString());StringdiasDecorridos=String.valueOf(diasDecorridosInt);//Sem numeros formatados; returndiasDecorridos;}// método para pegar a data do dia publicStringgetDataDiaBr(){GregorianCalendarcalendario=newGregorianCalendar();intdia=calendario.get(calendario.DAY_OF_MONTH);intmes=calendario.get(calendario.MONTH)+1;intano=calendario.get(calendario.YEAR);StringdataIguana=String.valueOf(dia+"/"+mes+"/"+ano);DateFormatdf=newSimpleDateFormat("dd/MM/yyyy");StringdiaIguana=df.format(newDate());returndiaIguana;}// agora para calcular a idade publicstaticBigDecimalcalculaIdade(StringdataDoMeuNascimento)throwsParseException{BigDecimalqtdDias=newBigDecimal(contaDias(dataDoMeuNascimento,getDataDiaBr()));BigDecimalano=newBigDecimal(365.25);BigDecimalidade=qtdDias.divide(ano,0,RoundingMode.DOWN);returnidade;}//**** para usar é só chamar o metodo calculaIdade e passar uma String com a data do nascimento System.out.println(calculaIdade("06/09/1979"));
:thumbup:
F
felipebr00
Pessoal, Obrigado por todas as dicas, estou trabalhando nele, utilizando todo o material postado.
Muito Grato
F
felipebr00
Consegui!!
Vlw msm ai pessoal
agora estou estudando bastante para poder ajudar as próximas pessoas que estiver com duvidas \o
packagecalendar;importjava.util.Calendar;importjava.util.GregorianCalendar;importjava.util.Scanner;publicclasscalendar{publicstaticvoidmain(String[]args){//pegando a data do sistemaCalendarcal=GregorianCalendar.getInstance();intdiaAtual=cal.get(Calendar.DAY_OF_MONTH);intmesAtual=cal.get(Calendar.MONTH)+1;intanoAtual=cal.get(Calendar.YEAR);//recebendo a data de nascimento usuarioScannerin=newScanner(System.in);System.out.println("Dia em que você nasceu: ");intdiaNasc=in.nextInt();if((diaNasc<=0)&&(diaNasc>31)){System.out.println("Dia Invalido");}else{System.out.println("Mes em que você nasceu: ");intmesNasc=in.nextInt();if((mesNasc<=0)&&(mesNasc>12)){System.out.println("Mes invalido");}else{System.out.println("Ano em que você nasceu: ");intanoNasc=in.nextInt();if((anoNasc<=0)&&(anoNasc>anoAtual)){System.out.println("Ano Invalido");}else{intNasc=anoNasc*365;Nasc=Nasc+(mesNasc*31);Nasc=Nasc+diaNasc;intAtual=anoAtual*365;Atual=Atual+(mesAtual*31);Atual=Atual+diaAtual;System.out.println("Você tem "+(Atual-Nasc)+" dias ou "+((Atual-Nasc)/31)+" meses ou "+((Atual-Nasc)/365)+" anos.");}}}}}