Calculando Dia,Mes,Ano de vida com a classe calendar

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.

alguém poderia me ajudar?

Muito Grato, Felipe Donizetti.

de uma olhada nesse post

:thumbup:

Camarada, a Classe Calendar permite que você utilize o método roll(int field, int amount);
isso significa que:

//10 dias atrás
Calendar c = new GregorianCalendar();
		DateFormat df = new SimpleDateFormat("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/2011
04/09/2011

Os fields aceitos vão desde o dia do mês, semana, ano, até mês e ano.

good luck!!!

tem um tópico aqui no GUJ

calcula a idade, não sei é isso que voce quer

// importar na classe  
import java.text.DateFormat;  
import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Date;  
import java.util.GregorianCalendar;  
import java.math.BigDecimal;  
import java.math.RoundingMode;  
  
  
// metodo que retorna o intervalo de dias entre duas datas  
   public String contaDias(String dataInicialBR, String dataFinalBR) throws ParseException {    
    
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");    
        df.setLenient(false);    
    
        Date dataInicio = df.parse(dataInicialBR);    
        Date dataFim = df.parse(dataFinalBR);    
        long dt = (dataFim.getTime() - dataInicio.getTime()) + 3600000;    
        Long diasCorridosAnoLong = (dt / 86400000L);    
    
        Integer diasDecorridosInt = Integer.valueOf(diasCorridosAnoLong.toString());    
    
        String diasDecorridos = String.valueOf(diasDecorridosInt); //Sem numeros formatados;    
    
        return diasDecorridos;    
    
    }   
  
// método para pegar a data do dia  
    public  String getDataDiaBr(){  
        GregorianCalendar calendario = new GregorianCalendar();  
        int dia = calendario.get(calendario.DAY_OF_MONTH);  
        int mes = calendario.get(calendario.MONTH) + 1;  
        int ano = calendario.get(calendario.YEAR);  
        String dataIguana = String.valueOf(dia + "/" + mes + "/" + ano);  
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");  
        String diaIguana = df.format(new Date());  
        return diaIguana;  
    }  
  
// agora para calcular a idade  
     public static BigDecimal calculaIdade(String dataDoMeuNascimento) throws ParseException{  
        BigDecimal qtdDias = new BigDecimal(contaDias(dataDoMeuNascimento,getDataDiaBr()));  
        BigDecimal ano = new BigDecimal(365.25);  
        BigDecimal idade = qtdDias.divide(ano,0, RoundingMode.DOWN);  
          
        return idade;          
    }  
  
  
//**** para usar é só chamar o metodo calculaIdade e passar uma String com a data do nascimento   
System.out.println(calculaIdade("06/09/1979"));  

:thumbup:

Pessoal, Obrigado por todas as dicas, estou trabalhando nele, utilizando todo o material postado.

Muito Grato

Consegui!! :smiley: :smiley: :smiley: :smiley: :smiley: :smiley:

Vlw msm ai pessoal

agora estou estudando bastante para poder ajudar as próximas pessoas que estiver com duvidas \o

package calendar;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;

public class calendar {
    public static void main(String[] args) {
        //pegando a data do sistema
        Calendar cal = GregorianCalendar.getInstance();
        int diaAtual = cal.get(Calendar.DAY_OF_MONTH);
        int mesAtual = cal.get(Calendar.MONTH) + 1;
        int anoAtual = cal.get(Calendar.YEAR);

        //recebendo a data de nascimento usuario
        Scanner in = new Scanner(System.in);
        System.out.println("Dia em que você nasceu: ");
        int diaNasc = in.nextInt();
        if ((diaNasc<=0) && (diaNasc>31))
        {
            System.out.println("Dia Invalido");
        }
        else
        {
         System.out.println("Mes em que você nasceu: ");
        int mesNasc = in.nextInt();
        if ((mesNasc<=0) && (mesNasc>12))
        {
            System.out.println("Mes invalido");
        }
        else
        {
        System.out.println("Ano em que você nasceu: ");
        int anoNasc = in.nextInt();
        if ((anoNasc<=0) && (anoNasc>anoAtual))
        {
            System.out.println("Ano Invalido");
        }
        else
        {
            int Nasc = anoNasc*365;
                Nasc = Nasc+(mesNasc*31);
                Nasc = Nasc+diaNasc;
            int Atual = 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.");
           
        }
        }
            
            
        }

  }
}