Java proporciona una clase de fecha bajo el paquete java.util. El paquete proporciona varios métodos para jugar con la fecha.
Puede usar el objeto Date invocando el constructor de la clase Date de la siguiente manera:
import java.util.Date;
clase Date_Ex1 {
public static void main(String args[]) {
// Crear una instancia de un objeto Date invocando su constructor
Fecha objDate = new Date();
// Mostrar la fecha y la hora usando toString ()
System.out.println(objDate.toString());
}
}
Salida:
Mié 29 nov 06:36:22 UTC 2017
Si queremos obtener por separado el día, el mes y el año.
Tenemos la clase Java Calendar. Lo primero que tenemos que saber de la clase Calendar es la forma de instanciarlo. Y es que no podemos instanciar directamente una clase Calendar. Es decir, no podemos hacer un new Calendar(). Lo que podemos hacer son dos cosas: o bien utilizamos el método estático .getInstance() de la clase Calendar, o bien, construimos una clase GregorianCalendar.
En ambos casos lo que obtenemos es una clase Calendar la cual contiene información de la fecha local del sistema. Y es que la clase Calendar nos permite otras cosas, como por ejemplo, obtener la fecha de otra ubicación geográfica que no sea la del sistema.
Calendar c1 = Calendar.getInstance();
Calendar c2 = new GregorianCalendar();
Una vez que tenemos instanciada nuestra clase Calendar ya podremos hacer uso de los «getters» y «setters» de antaño. Pero con una modificación y es que existe un único método get que recibe por parámetro el tipo de información a recuperar en formato número entero. Si bien, no tenemos que sabernos la correspondencia de valores de los números enteros, ya que la clase Calendar nos ofrece un conjunto de clases estáticas para facilitarnos la ayuda.
Relativo a estas constantes tenemos:
Calendar.DATE, que representa el día del mes.
Calendar.MONTH, que representa el mes del año.
Calendar.YEAR, que representa el año.
Tenemos muchas otras más DAY_OF_WEEK_IN_MONTH, DAY_OF_WEEK, WEEK_OF_YEAR,…
Al final, nuestro código Java quedará algo así:
dia = Integer.toString(c.get(Calendar.DATE));
mes = Integer.toString(c.get(Calendar.MONTH));
annio = Integer.toString(c.get(Calendar.YEAR));