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);
}