Exemplo Date/Calendar

Ir em baixo

Exemplo Date/Calendar

Mensagem por Admin em Qui Set 12, 2013 4:13 pm

Código:

package br.gov.geracaotecsc.exemplodate;

import java.util.Calendar;
import java.util.Date;

import br.gov.geracaotecsc.ui.console.GenericConsoleUI;


public class ExemploDate {
   public static void main(String[] args) {
       GenericConsoleUI ui = new GenericConsoleUI();
      Date dtAniversario = ui.facaPerguntaDate("Digite a data de nascimento: ");
      
      Calendar calAniversario = Calendar.getInstance();
      calAniversario.setTime(dtAniversario);
      
      Calendar calAgora = Calendar.getInstance();
      
      int diasAnoAgora = calAgora.get(Calendar.DAY_OF_YEAR);
      int diasAnoAniversario = calAniversario.get(Calendar.DAY_OF_YEAR);
      
      int diferenca = diasAnoAniversario - diasAnoAgora;
      
      System.out.println("Faltam " + diferenca + " dias para seu aniversario");

   }
   
   public static void outraSolucao() {
      GenericConsoleUI ui = new GenericConsoleUI();
      Date dtAniversario = ui.facaPerguntaDate("Digite a data de nascimento: ");
      
      Calendar calAniversario = Calendar.getInstance();
      calAniversario.setTime(dtAniversario);
      
      Calendar calAgora = Calendar.getInstance();
      
      int anoAtual = calAgora.get(Calendar.YEAR);
      calAniversario.set(Calendar.YEAR, anoAtual);
      //troca o ano do aniversario para o ano atual
      
      if(calAniversario.before(calAgora)) {
         calAniversario.add(Calendar.YEAR, 1);         
      }
      //adiciona um ano caso o aniversario ja tenha ocorrido
      
      long milisegundosAgora = calAgora.getTimeInMillis();
      long milisegundosAniversario = calAniversario.getTimeInMillis();
      
      long diferencaMilisegundos = milisegundosAniversario - milisegundosAgora;
      
      long diferencaDias = diferencaMilisegundos / (24 * 60 * 60 * 1000);
      
      System.out.println("Faltam " + diferencaDias + " para o aniversario");
      
   }
}


Admin
Admin

Mensagens : 123
Data de inscrição : 01/07/2013

Ver perfil do usuário http://geracaotecjava.forumbrasil.net

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum