Sei sulla pagina 1di 2

Como obtener la fecha actual del sistema en Java

Para obtener la fecha actual y en general para trabajar con fechas en Java tenemos varias posibilidades. En este post vamos a explicar como obtener la fecha del sistema usando la clase Calendar. Calendar es una clase base abstracta con la que podremos representar y manejar fechas, as como obtener y modificar las distintas partes que la componen: ao, mes, dia, hora, minuto, segundo, etc. Para usarla debemos hacer el siguiente import: import java.util.Calendar; Para instanciar un objeto de la clase Calendar, tendremos 2 opciones: Opcin 1. Utilizar el mtodo getInstance(), que nos proporcionar un objeto Calendar cuyos campos han sido inicializados con la fecha y la hora actuales del sistema. Calendar fecha = Calendar.getInstance(); Opcin 2. Utilizar la clase GregorianCalendar. Esta clase es de Calendar, que nos proporciona un calendario gregoriano estndar. Calendar fecha = new GregorianCalendar(); Para usar GragorianCalendar debemos hacer el siguiente import: import java.util.GregorianCalendar; Una vez creado el objeto que contiene la fecha del sistema, para obtener un campo concreto de la fecha se utiliza el mtodo get(campo) donde campo indica la parte de la fecha que quiero obtener. Cada una de estas partes est definida como una constante en la clase Calendar. Por ejemplo, para obtener el ao de la fecha actual podemos escribir las instrucciones: Calendar fecha = new GregorianCalendar(); int ao = fecha.get(Calendar.YEAR); Ejemplo: Programa Java que obtiene la fecha y hora actual del sistema y la muestra por pantalla. El programa mostrar ao, mes, da, hora, minutos y segundos. import java.util.*; public class Fechas { public static void main(String[] args) { //Instanciamos el objeto Calendar //en fecha obtenemos la fecha y hora del sistema Calendar fecha = new GregorianCalendar(); //Obtenemos el valor del ao, mes, da, //hora, minuto y segundo del sistema //usando el mtodo get y el parmetro correspondiente int ao = fecha.get(Calendar.YEAR); int mes = fecha.get(Calendar.MONTH); int dia = fecha.get(Calendar.DAY_OF_MONTH); int hora = fecha.get(Calendar.HOUR_OF_DAY); int minuto = fecha.get(Calendar.MINUTE); int segundo = fecha.get(Calendar.SECOND); System.out.println("Fecha Actual: " + dia + "/" + (mes+1) + "/" + ao); System.out.printf("Hora Actual: %02d:%02d:%02d %n", hora, minuto, segundo); } } El programa muestra la fecha y hora actual de la siguiente forma: Fecha Actual: 4/11/2013 una subclase

Hora Actual: 16:53:25 Debemos tener en cuenta que el valor devuelto por Calendar.MONTH correspondiente al mes comienza por 0, es decir, el valor 0 corresponde a enero y el valor 11 corresponde a diciembre por lo tanto debemos sumarle uno a este valor antes de operar con l. Adems de obtener la fecha, tambin podemos asignar valores a un campo determinado de la fecha. Para asignar valores a un campo concreto de la fecha o asignar fechas completas se utiliza mtodo set: Ejemplo: fecha.set(2013,5,1); //asigna ao, mes, da fecha.set(2013,5,1,3,45,12); //asigna ao, mes, da, hora, minuto, segundo fecha.set(Calendar.YEAR,2015); //asigna el valor 2015 al ao Tambin podemos sumar o restar valores a la fecha y hora. Ejemplo: sumar 10 das a la fecha actual: //sumar 10 das a la fecha actual fecha.add(Calendar.DAY_OF_MONTH, 10); Ejemplo: sumar 10 minutos a la hora actual: //sumar 10 minutos a la hora actual fecha.add(Calendar.MINUTE, 10); Ejemplo: restar 2 aos a la fecha actual: //restar 2 aos a la fecha actual fecha.add(Calendar.YEAR, -2);

Potrebbero piacerti anche