import java.text.SimpleDateFormat;
SimpleDateFormat sdf = new SimpleDateFormat(variable_string_con_el_formato);
De manera que después cualquier objeto Date se puede parsear a formato String y viceversa.
Ejemplos:
Declarar el objeto simple format para el formato de fecha DD-MM-YYYY:
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Convertir la fecha actual a este formato en String:
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date fechaActual = new Date();
String fechaConFormato = sdf.format(fechaActual);
Convertir un campo de tipo String a formato Date:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
try{
Date nuevaFecha = sdf.parse("01-11-1987");
}catch(ParseException pe){
}
Posibles formatos de fecha aceptados por el objeto:
Letter | Date or Time Component | Presentation | Examples |
---|---|---|---|
G
| Era designator | Text | AD
|
y 12px
| Year | Year | 1996 ; 96
|
M
| Month in year | Month | July ; Jul ; 07
|
w
| Week in year | Number | 27
|
W
| Week in month | Number | 2
|
D
| Day in year | Number | 189
|
d
| Day in month | Number | 10
|
F
| Day of week in month | Number | 2
|
E
| Day in week | Text | Tuesday ; Tue
|
a
| Am/pm marker | Text | PM
|
H
| Hour in day (0-23) | Number | 0
|
k
| Hour in day (1-24) | Number | 24
|
K
| Hour in am/pm (0-11) | Number | 0
|
h
| Hour in am/pm (1-12) | Number | 12
|
m
| Minute in hour | Number | 30
|
s
| Second in minute | Number | 55
|
S
| Millisecond | Number | 978
|
z
| Time zone | General time zone | Pacific Standard Time PST GMT-08:00 |
Z
| Time zone | RFC 822 time zone | -0800 |
Recuperado el 20-Set-2011 de http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
Hola:
ResponderBorrarTengo este formato de fecha y hora: 2016/7/20 12:24
Lo tengo en una variable String que se llama fechaDeAlta.
¿Cómo cambio de formato de String a Date?
Un cordial saludo.
Sería de esta forma:
BorrarSimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
try {
Date nuevaFecha = sdf.parse("2016/7/20 2:24");
System.out.println(nuevaFecha);
} catch (ParseException pe) {
pe.printStackTrace();
}
Eso tomando en cuenta que la hora está en formato de 24 horas y que comienza de las 0 a 23 horas, si no reemplazar la HH por kk para formato de 24 horas que comienza de 1 a 24 horas, y si es formato de 12 horas sería reemplazar HH por KK que comienza de 0 a 11 horas o hh para un formato que empieza 1 a 12 horas.
Cualquier consulta con mucho gusto.
Saludos
Hola:
ResponderBorrarHaz puesto est: Date nuevaFecha = sdf.parse("2016/7/20 2:24");
Precisamente ese es el formato que debo leer: 2016/7/20 2:24
Antes que nada, debo coger ese formato de la fecha de la máquina y luego convertirlo tal como lo haces arriba. Lo que arriba lo tienes prestablecido en una variable.
Quiero tener la fecha/hora autmáticamente del propio PC en local y convertirlo como haces arriba.
Espero que se entienda lo que quiero decir.
¿Cómo se hace?
Muchas gracias por todo, campeón. ;)
Para obtener la fecha de la computadora solamente debes crear una nueva clase date:
Borrar//Con esto se obtiene la hora y fecha actual de tu equipo
Date horaFechaActual = new Date();
//Si se quiere imprimir el resultado en un el formato que indicas se convierte de la siguiente manera:
//Simplemente se va a establecer el formato para mostrar
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
//Se convierte el tipo Date con la hora de tu máquina a un formato String para imprimirlo con el formato que deseas:
String fechaConFormato = sdf.format(horaFechaActual);
//Se imprime el String para ver la hora con el formato deseado:
System.out.println(fechaConFormato);
El ejemplo que te respondí anteriormente es si tienes una fecha en una variable String y lo quieres convertir a Date, le especificas con el SimpleDateFormat, en qué formato viene el String para que se pueda convertir.
Espero poder ayudarte y disculpa la demora me encontraba de paseo jeje
Saludos
Hola tengo una duda.. tengo una fecha en formato string de esta manera.. "26 DE JULIO DE 2016" y necesito pasarlo a un formato 26/07/2016. Agradeceria mucho tu ayuda. Saludos!!
ResponderBorrar