Foros del Web » Programación para mayores de 30 ;) » Java »

Duda parseo de fechas

Estas en el tema de Duda parseo de fechas en el foro de Java en Foros del Web. Hola, tengo el siguiente String "Domingo, 05 de Diciembre de 2010 06:00:00 p.m." Alguien sabe como pasarlo al formato 05/12/2010 ? Probe algo asi pero ...
  #1 (permalink)  
Antiguo 03/12/2010, 11:47
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 15 años
Puntos: 1
Duda parseo de fechas

Hola, tengo el siguiente String "Domingo, 05 de Diciembre de 2010 06:00:00 p.m."

Alguien sabe como pasarlo al formato 05/12/2010 ?

Probe algo asi pero no me funciono

Código:
		try {
				DateFormat formatter;
				Date date;
				Locale locale = new Locale("es");

				formatter = new SimpleDateFormat("E, D M yyyy HH:mm:ss aaa", locale);
				date = (Date) formatter.parse("Domingo, 05 de Diciembre de 2010 06:00:00 p.m.");

				System.out.println("Today is formato date" + date);

				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
				System.out.println("La fecha de hoy es string: "
						+ sdf.format(date));

			} catch (ParseException e) {
				System.out.println("Exception :" + e);
			}
Alguien sabe como poder hacer el parseo?

Muchas gracias
  #2 (permalink)  
Antiguo 15/12/2010, 09:01
 
Fecha de Ingreso: septiembre-2007
Mensajes: 27
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Duda parseo de fechas

Create un arreglo de substring el cual lo llegas con substring de tu fecha, y cada registro del arreglo lo llenas con un substring hasta el espacio, asi tendras un arreglo de 8 registros {Domingo,
05
de
Diciembre
de
2010
06:00:00
p.m.}

Con eso sacar la posicion 2, 4 y 6, la cuatro validas con un case desde enero a diciembre cosa como Enero = 1 .... Diciembre = 12 y luego concatenas todo con lo cual tendras lo que necesitas.
Espero te sirva.
Saludos
  #3 (permalink)  
Antiguo 15/12/2010, 09:25
 
Fecha de Ingreso: mayo-2010
Mensajes: 27
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Duda parseo de fechas

prueba con usarlo haciendo un nuevo objeto fecha y luego en el SimpleDateFormat:

Código:
Date fecha=new Date("tufecha");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");
                System.out.println("La fecha de hoy es string: "
                        + sdf.format(fecha));
también puedes revisar el API de Calendar, que te permite obtener los elementos de una fecha por separado. (Dia, mes, año...)
  #4 (permalink)  
Antiguo 15/12/2010, 09:29
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Duda parseo de fechas

Si lo pasas a minúsculas y sustituyes 'p.m.' por 'PM', el formato de entrada parece ser este:

"EEEE, d 'de' MMMM 'de' yyyy HH:mm:ss a"

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 15/12/2010, 09:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Duda parseo de fechas

En código:
Cita:
String input = "Domingo, 05 de Diciembre de 2010 06:00:00 p.m.";
SimpleDateFormat theSDF = new SimpleDateFormat("EEEE, d 'de' MMMM 'de' yyyy HH:mm:ss a",new Locale("ES"));
DateFormatSymbols dfs = theSDF.getDateFormatSymbols();
dfs.setAmPmStrings(new String[]{"a.m.","p.m."});
theSDF.setDateFormatSymbols(dfs);
System.err.println("Parseada: " + theSDF.parse(input));
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Etiquetas: fechas, parse
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:32.