Cálculo de Idade completo

Heheheh!!!

Alguém sabe como calcular a idade correta de uma pessoa com informações de Anos, Meses e Dias de vida???
Tipo, Fulano de Tal tem “21 anos, 5 meses e 14 dias” de vida…

Valeu!!!

Use o Joda-Time.

Acho que isso aki dá uma idéia pra vc!!!

http://www.guj.com.br/posts/list/21062.java

[]'s

[quote=thingol]Use o Joda-Time.

[/quote]

Como assim?
Não conheço…

Pergunta: quem é a pessoa famosa que nasceu em 20/7/1980?
Este código imprime a idade dessa pessoa hoje (13/02/2008).

A saída esperada:

27 years, 6 months, 3 weeks and 3 days
27 anos, 6 meses, 3 semanas e 3 dias

import org.joda.time.*;
import org.joda.time.format.*;

class TesteIdade {
    public static void main(String[] args) {
	DateTime start = new DateTime(1980, 7, 20, 0, 0, 0, 0);
	DateTime end = new DateTime(2008, 2, 13, 0, 0, 0, 0);
        Period per = new Period (start, end);
        // Isto imprime "27 years, 6 months, 3 weeks and 3 days"
        System.out.println (PeriodFormat.getDefault().print (per));
        // Isto imprime "27 anos, 6 meses, 3 semanas e 3 dias"
        PeriodFormatter pf = new PeriodFormatterBuilder()
		    .appendYears()
			.appendSuffix (" ano, ", " anos, ")
            .appendMonths() 
            .appendSuffix (" mês, ", " meses, ")
            .appendWeeks() 
            .appendSuffix (" semana e ", " semanas e ")
            .appendDays()
            .appendSuffix (" dia ", " dias ")
            .toFormatter();
        System.out.println (pf.print (per));
    }
}

[quote=crpablo]Acho que isso aki dá uma idéia pra vc!!!

http://www.guj.com.br/posts/list/21062.java

[]'s[/quote]

É, brother…
Deu para ter uma idéia…
Mas percebi que vou ter que criar meus próprios meios…
Muito obrigado!

Valeu!

Linkel, baixe a biblioteca Joda-Time (procure um pouquinho no Google que você acha o site dessa biblioteca), e rode o exemplo acima. Se você conseguir, então me diga qual é o nome da pessoa famosa que nasceu nessa data do meu exemplo.

[quote=thingol]Linkel, baixe a biblioteca Joda-Time (procure um pouquinho no Google que você acha o site dessa biblioteca), e rode o exemplo acima. Se você conseguir, então me diga qual é o nome da pessoa famosa que nasceu nessa data do meu exemplo.
[/quote]

Cara, sou iniciante em java e não sei instalar bibliotecas não…
Rsrsrsrsrsrssrsrs… Parece burrice, mas é ignorância mesmo…
Utilizo o NetBeans 6.0…
Sabe me dizer como instalar?

Valeu!

Pegue o arquivo .jar que você baixar no site do Joda-Time, e copie-o para um diretório da sua solução no NetBeans.
Acho que é “lib” mas não estou com um NetBeans aqui para poder conferir.
Quem for especialista no NetBeans (ou então se você tiver um pouco de paciência e der uma olhada no help do NetBeans), por favor, dê uma ajudinha.

[quote=thingol]Pegue o arquivo .jar que você baixar no site do Joda-Time, e copie-o para um diretório da sua solução no NetBeans.
Acho que é “lib” mas não estou com um NetBeans aqui para poder conferir.
Quem for especialista no NetBeans (ou então se você tiver um pouco de paciência e der uma olhada no help do NetBeans), por favor, dê uma ajudinha.
[/quote]
Hehehehe…
Funcionou fera.
Mas no NetBeans tem uma opção bem intuitiva com o gerenciador de Bibliotecas.
Valeu!

Para instalar o Joda-Time no NetBeans 6.9

Entre na pagina http://joda-time.sourceforge.net/index.html , Clique em Download e baixe o pacote JAR adequado.

Extraia para uma pasta, de preferencia dentro da pasta do NetBeans ( no Linux, fica em /home/usuario/.netbeans)

Dentro da pasta que tem o nome joda-time-1.6.2 há 3 arquivos jar que são:

joda-time-1.6.2.jar
joda-time-1.6.2-sources.jar
joda-time-1.6.2-javadoc.jar

Entre na IDE NetBeans, vá em Ferramentas/Bibliotecas (Tools/Library)

Clique no botão, Nova Biblioteca (New Library) e coloque o nome: joda-time
e nas abas a seguir coloque o endereço de cada um dos arquivos jar:
ClassPath -> joda-time-1.6.2.jar
Código-fonte -> joda-time-1.6.2-sources.jar
Java-Doc -> joda-time-1.6.2-javadoc.jar

Ao final clique em OK. Reinicie a IDE do NetBeans, para fazer as alterações valerem. Pronto!

Segue um pequeno exemplo:

Na IDE do NetBeans Vá em Arquivo/Novo Projeto
Em Categoria -> Java
Em Projetos -> Aplicativo Java
Clique em próximo
Em nome do Projeto -> Exemplo-joda-time
Clique em Finalizar

Agora existe uma classe que o NetBeans criou.

É importante adicionar a biblioteca ao projeto:
Na aba projeto clique em bibliotecas com o direito e escolha - Adicionar Biblioteca -> joda-time

Digite o código abaixo, e para rodar, clique no botão Play verde (F6).

package exemplojodatime;

import org.joda.time.format.;
import org.joda.time.
;

public class Main {

public static void main(String[] args) {
  String dateString = "2009-04-17 10:41:33";
  // Transformando (parse) a String em Data
  DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
  DateTime dateTime = formatter.parseDateTime(dateString);
  
  System.out.println("Data inicial= "+dateString);
  dateTime = dateTime.plusHours(2);
  System.out.println("Adicionei 2 horas = "+dateTime);
  dateTime = dateTime.plusDays(3);
  System.out.println("Somei 3 dias = "+dateTime);
  dateTime = dateTime.plusMonths(4);
  System.out.println("Coloquei 4 meses = "+dateTime);
  System.out.println("E assim por diante...");
}

}

===========================

Para distribuir seu projeto:

Clique sobre o nome do projeto na aba projeto, com o direito do mouse, e escolha limpar/construir (Clean/Build)
Isso criará a pasta dist dentro da pasta do seu projeto. Dessa forma, para distribuir basta instalar esta pasta
em seu cliente, e criar um atalho para o arquivo jar.

A biblioteca joda-time acrescentará 530 kb ao seu projeto distribuido.

Então é isso,

Até mais,

Claudio Segura

Solução: http://www.guj.com.br/java/21062-como-calcular-a-idade#1296323