Java » Obtener fecha actual con Java
Viendo una gráfica de términos informáticos buscados por Internet resultaba curioso que una de las frases más buscada era la de obtener la fecha actual del sistema en múltiples lenguajes: Java, C, C++, Perl, Python, Visual Basic,... etc.
Es por ello, por lo que me he propuesto escribir este ejemplo de cómo obtener la fecha del sistema en Java. Y eso que en los primeros tiempos del lenguaje java era bastante simple. Ya que nos bastaba con instanciar un objeto Date y con sus métodos getDay(), getMonth(),.. teníamos rápidamente la fecha montada
// Deprecated java.util.Date fecha = new Date(); System.out.println (fecha.getDay()); System.out.println (fecha.getMonth());
Pero se dieron cuentas que lo de las fechas tenía mucha más intríngulis que simples "setters" y "getters" y todo esto ha sido declarado obsoleto.
Pero tampoco nos pongamos tan tristes. Que todavía podemos instanciar un objeto Date, y por supuesto, mostrarlo por pantalla.
java.util.Date fecha = new Date(); System.out.println (fecha);
Dándonos cómo resultado algo así:
Sat Sep 24 21:07:36 CEST 2005
La cosa se nos complicará un poco si queremos obtener por separado el día, el mes y el año. Que, por otra parte, es lo que buscamos con este ejemplo.
Para ello 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));
Visualizar el ejemplo | Descargar el código
![]() Foro sobre Java Básico |
Artículos relacionados:







Abril 23, 2009 #
Elizabeth,
Soy nueva en java, porfavor alguien me pueda ayudar quiero obtener el numero de dias dado un rango de fechas, desde ya gracias por su ayuda
Mayo 4, 2009 #
necesito hacer un cronometro , del cual activo con un boton y a partir del tiempo transcurrido que me vaya calculando el precio por minuto, como podria hacer, tipo los cibercafe lo que hacen con las compus gracias
Mayo 5, 2009 #
muchas gracias
muy util
Junio 15, 2009 #
[...] http://lineadecodigo.com/java/obtener-fecha-actual-con-java/ [...]
Agosto 11, 2009 #
Muchisimas gracias, me fue de mucha utilidad!!!!
Agosto 15, 2009 #
Gracias por la explicada, tenia muchos problemas con eso de las fechas tu solucion de “Calendar c1 = Calendar.getInstance();” fue magica, gracias de nuevo.
Saludos desde Guatemala!!!
Agosto 23, 2009 #
hola esttoy utilizando netbeans 6.5 y e agregado un jdatecalendar, de la clase jCalendar.
Mi pregunta es ¿Como hago para q ese tipo de fecha lo pueda almacenar en una base de datos en MySQL en formato yyyy-MM-dd ?
Es pero que respondan pronto, osea hoy xD…
Agosto 24, 2009 #
@neinGott,
Me alegro que te haya servido.
Octubre 2, 2009 #
Hola
Necesito escribir un programa que pida al usuario una fecha y responda si la fecha esta bien escrita en español. No es necesario verificar que la fecha es válida, solo que tiene el formato correcto. Así que su programa deberá decretar que una fecha como 30 de febrero de 2001 está bien escrita a pesar de que no es válida.
Me podrian ayudar?
Octubre 13, 2009 #
Buenísimo!!! me sirvió un montón, gracias!!!