Hola a todos, hoy os explicaré como utilizar la clase Date en Java.
La clase Date, representa como su nombre indica a una fecha. Hoy en día hay mejores opciones que esta clase para manejar fechas, pero es interesante saber como funciona ya que muchos se basan en ella.
Os recomiendo que os miréis la API de Date, ya que encontrareis datos útiles sobre la clase.
Aquí os la dejo.
La clase Date viene incluida en Java, pero debemos importarla para nuestro código. Date se localiza en el paquete java.util.
Por lo que deberás hacer esto al principio de tu programa para importarlo.
import java.util.Date;
Para crear una fecha, deberemos crear un objeto de esta clase.
Date fecha = new Date();
Sino le damos ningún parámetro, cogerá la fecha de hoy.
Date fecha = new Date(); System.out.println(fecha);
Nos muestra esto:
También podemos crear una fecha propia, indicandoselo como parámetro.
Date fecha2 = new Date(116, 5,3); System.out.println(fecha2);
Esto es lo que veréis:
Procedo a explicarlo, los parámetros que he puesto son estos:
- 116: ¿porque 116? Esto es el año, tenemos que tener en cuenta que inicialmente empieza en 1900 y lo que hace es sumarle el valor que le demos 1900+116 = 2016. Si ponemos 2016 en realidad, sería el año 3916.
- 5: este es el mes, pero si es el 5 ¿No debería ser Mayo? No, porque empieza en 0 por lo que el 5 seria el sexto mes, en este caso Junio.
- 3: este es el día, aquí es el día tal cual lo ponemos.
También podemos añadirle la hora exacta.
Date fecha2 = new Date(116, 5,3, 10, 5, 6); System.out.println(fecha2);
Los 3 parámetros siguientes son la hora, minuto y segundo. Esto es lo que devuelve.
También tenemos métodos para devolver cada uno de estos valores.
System.out.println("Año: "+ (fecha2.getYear()+1900) ); System.out.println("Mes: "+fecha2.getMonth()); System.out.println("Dia: "+fecha2.getDate()); System.out.println("Dia de la semana "+fecha2.getDay()); System.out.println("Hora: "+fecha2.getHours()); System.out.println("Minutos: "+fecha2.getMinutes()); System.out.println("Segundos: "+fecha2.getSeconds());
Si ponéis eso en Java, os aparecerá como tachado. Eso significa que esta «deprecated» que es como obsoleto. Como digo, veremos más clases pero siempre es bueno saber como funciona.
Esto es lo que nos devuelve:
Ten en cuenta, que para el año, devuelve 116 y para saber el año real debemos sumarle 1900.
Por último, os voy a mostrar dos funciones útiles de fechas, after y before.
Esto nos indica si una fecha esta después o antes que otra.
System.out.println(fecha.after(fecha2)); System.out.println(fecha.before(fecha2));
Esto nos devuelve:
Recordar que el objeto fecha era la fecha 04/09/2016 y fecha2 es 03/06/2016.
En after, devuelve true porque 04/09/2016 esta después de 03/06/2016 y en before, devuelve false porque 04/09/2016 no esta antes de 03/06/2016.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Hla gracias por tu aporte, pero mi duda es si tengo una fecha «10-06-2019″ como puedo invertirla, osea que se ingrese asi » 2019-06-10″
Nota: esque tengo in input de htl5 con atriibuto Date en un formulario y quiero llevarla a MYSQL y no me permite por el formato.
y si el año es ingresado por teclado.. que calculo deberia hacer?
y si el año es ingresado por teclado.. que calculo deberia hacer??