Skip to content

Instantly share code, notes, and snippets.

@NrI3
Last active August 29, 2015 14:23
Show Gist options
  • Save NrI3/85aa0645dc14fee6b9b7 to your computer and use it in GitHub Desktop.
Save NrI3/85aa0645dc14fee6b9b7 to your computer and use it in GitHub Desktop.
[ Java ] Clase para manejar las fechas de manera modica
/**
* Crear un objeto de tipo fecha
* @author IJsn
*/
public class Fecha {
Calendar date;
/**
* Crean un objeto con la fecha actual del sistem
*/
public Fecha(){
date = new GregorianCalendar();
}
/**
* Crea un objeto de tipo fecha personalizado
* @param dia int
* @param mes int
* @param año int
*/
public Fecha(int dia,int mes, int año){
date = new GregorianCalendar();
this.dia(dia);
this.mes(mes);
this.año(año);
}
/**
* @return Retorna el dia del objeto de tipo <b>int</b>
*/
public int dia(){
return date.get(Calendar.DAY_OF_MONTH);
}
public int mes(){
return date.get(Calendar.MONTH);
}
public int año(){
return date.get(Calendar.YEAR);
}
public void dia(int dia){
date.set(Calendar.DAY_OF_MONTH, dia);
}
public void mes(int mes){
date.set(Calendar.MONTH,mes);
}
public void año(int año){
date.set(Calendar.YEAR, año);
}
public static int edadEntre(Fecha fecha1, Fecha fecha2){
int r = (fecha1.mes() < fecha2.mes() ) ? 1: (( fecha1.dia()<fecha2.dia() ) ? 1 : 0) ;
return ((fecha1.año()-fecha2.año())- r);
}
/**
* Calcula la edad actual de un objeto de tipo <b>Fecha</b>
* basado en la fecha actual del sistema y retorna un <b>int</b>
* @param fecha
* @return Retorna la edad de la <b>fecha</b>
*/
public static int edadActual(Fecha fecha){
return edadEntre(new Fecha(), fecha);
}
public int edadActual(){
return edadEntre(new Fecha(),this);
}
@Override
public String toString(){
return String.format("%02d",this.dia())+
"/"+ String.format("%02d",this.mes())+
"/"+ String.format("%02d", this.año());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment