Buenas a tod@s!
Con esta entrada
os quiero enseñar como se puede paar de String a date (fecha). ¿Para
qué lo podemos necesitar? El ejemplo que más se me viene a la
cabeza y por el cual tuve que investigar y por lo tanto puede que
vosotros también es cuando cogía datos de tipo datetime o
smalldatetime en sql server y lo recogía como string en java y luego
quería tratar con él como si fuera de formato fecha.
Normalmente
cualquier SGBD tendra un tipo de datos datetime, date o
smalldatetime.
El tipo datetime
suele ser así: "12/08/2012
12:51:12" si esta almacenado en formato local español.
Bueno
en mi programa ejemplo voy a aplicarlo directamente sobre un String,
pero como ya he dicho antes lo cogeríamos por ejemplo de una Base de
Datos y lo almacenaríamos como string, con lo cual es lo mismo.
El
código sería el siguiente:
import
java.text.DateFormat;
import
java.text.ParseException;
import
java.text.SimpleDateFormat;
import
java.util.Date;
import
java.util.Locale;
public
class principal {
public
static void main(String[] args) {
String
fecha = "12/08/2012 12:51:12";
Date
d = null;
/*
FORMATOS EN EL CUAL QUEREMOS LA FECHA EN
EN ESTE CASO DIA / MES / AÑO */
SimpleDateFormat
sdf = new SimpleDateFormat("dd/MM/yyyy",
Locale.ENGLISH);
try
{
//parseamos
string a tipo date
d
= sdf.parse(fecha);
}
catch (ParseException e) {
e.printStackTrace();
}
//ALGUNOS
TIPOS DE FORMATOS
DateFormat
dfDateShort = DateFormat.getDateInstance(DateFormat.SHORT);
System.out.println(dfDateShort.format(d));
//FORMATO
MEDIO
DateFormat
dfDateMedium = DateFormat.getDateInstance(DateFormat.MEDIUM);
System.out.println(dfDateMedium.format(d));
//FORMATO
NORMAL
DateFormat
dfDefault = DateFormat.getInstance();
System.out.println(dfDefault.format(d));
}
}
Ese
es el pequeño código... Hay muchos más formatos, para verlos todos
solamente necesitaremos por DateFormat.#Estilo_que_queramos, ya sea
Long, milisegundos, decadas, short...
Espero
que os haya servido de ayuda y cualquier duda o comentario nada más
tenéis que postearlo e intentaré ayudaros.
¡Un
saludo!