miércoles, 25 de abril de 2012

Jugando un poco con fechas


Bueno en esta entrada voy a poner como pasar un String a Date y con ese formato intentar hacer sumas de días, meses, o cualquier otro tipo de operación.


Ahí va el código:



import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.swing.JOptionPane;


public class TestFechas {

//VARIABLES
private static Date fecha_DATE;
private static String fecha_STRING;


public static void main(String[] args) {

/* STRING QUE EXTRAEMOS DE UN TXT, BD O CUALQUIERA OTRA FUENTE
               EN ESTE CASO LA PONGO MANUAL PARA SER MAS DIRECTO*/

fecha_STRING = "2011-02-28 01:50:52";



/*ESTABLECER FORMATO AÑO-MES-DIA HORA:MINUTOS:SEGUNDOS (TAMBIEN SE PUEDE MILISEGUNDOS)*/

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");



try {

// PARSEO STRING A DATE
fecha_DATE = sdf.parse(fecha_STRING);
} catch (ParseException e) {

System.out.println("Se ha producido un error de parseo");
}

//MOSTRAR STRING INICIAL
System.out.println("Fecha String: \t\t\t" + fecha_STRING + "\n");

//MOSTRAR TRAS PARSEO A DATE
System.out.println("Date: \t\t\t\t\t" + fecha_DATE + "\n");


//INSTANCIA DE CALENDARIO
Calendar c = Calendar.getInstance();

//ESTABLECEMOS LA FECHA DEL CALENDARIO CON EL DATE GENERADO ANTERIORMENTE
  c.setTime(fecha_DATE);
 
/*** OPERACIONES QUE PODEMOS HACER CON CALENDARIO
PODEMOS SUMAR, RESTAR DIAS, MESES, AÑOS...
PODEMOS COMPARAR SI ES ANTERIOR, RECIENTE, ETC..

// SUMAMOS 1 DIA AL CALENDARIO
    c.add(Calendar.DATE, 1);
 
// CONVERTIMOS CALENDARIO A DATE
      fecha_DATE = c.getTime();    

//MOSTRAMOS DATE FINAL
  System.out.println("Date Anterior con 1 día sumado: \t" + fecha_DATE);

}