Feeds de los foros

En la página principal de los foros encontrarás los enlaces al logo feed feed general y al de cada uno de los foros.

Subscribete para mantenerte informado de los cambios y responde a las dudas siempre que te sea posible

Buscar en el foro

Foro J2SE

feed Foro J2SE Foro: J2SE

Nuevo Tema Nuevo Tema


                               
                               
invertir fecha 27/11/2008 11:56
mariaanie

hola buenas tengo una fecha en formato 2008/09/12 y quiero darle la vuelta 12/09/2008 y tengo este código


                            <%
                           
                            String cfecha = pageContext.getAttribute("ba_ultcomfec").toString();
                            DateFormat df=DateFormat.getDateInstance(DateFormat.SHORT,Locale.JAPAN) ;
                            Date d=df.parse(cfecha);

                           
                                          
                            %>
                           


                                    UltCom
                               

                                     <%=d%>

 y cuando lo ejecuto en la web me da este error

Ha ocurrido un error al realizar la acci�n: java.text.ParseException: Unparseable date: " 2008-11-26"

Cual es el problema ?¿? si me podeis dar alguna otra sugerencia para realizar el inversion lo agradeceria un saludo

#unapprove_message#
RE: invertir fecha 27/11/2008 12:38
anonymous

Utiliza SimpleDateFormat para darle el formato correcto. (mira en el api).

 

Un saludo.

#unapprove_message#
RE: RE: invertir fecha 27/11/2008 14:12
mariaanie

Hola yo tengo esto el caso es que me muestra esto: Wed Ap 30 00:00:00 CET 32, y esta mal por que la fecha que deberia salir (la obtengo de base de datos) 2008-11-26 no se que hago mal la verdad Muchas gracias y un saludo

String pfecha = pageContext.getAttribute("ba_ultcomfec").toString( );
SimpleDateFormat sdf= new SimpleDateFormat("dd-MM-yyyy"); 
java.util.Date d=sdf.parse(pfecha);

#unapprove_message#
RE: RE: RE: invertir fecha 27/11/2008 14:23
rogerjose81

Lo que pretendes es dar un formato (String) a la fecha... necesitas llamar la funcion 'format'.

...
String fechaFormateada = sdf.format(pfecha);

#unapprove_message#
RE: RE: RE: RE: invertir fecha 27/11/2008 15:04
mariaanie

Hola, probe lo que me indicaste y me dio este error:

Ha ocurrido un error al realizar la accion: java.lang.IllegalArgumentException: Cannot format given Object as a Date 

Yo en pfecha recibo esta fecha de la BD 2008-11-26 y lo que quiero es que me la muestre en la pagina web asi 26-11-2008.        & nbsp;         & nbsp;

String pfecha = pageContext.getAttribute("ba_ultcomfec").toString( );
SimpleDateFormat sdf= new SimpleDateFormat("dd-MM-yyyy"); 
String fechaFormateada = sdf.format(pfecha);
%>

UltCom
 
 
 

Otra forma con la cual probe fue con esta:

Pero me fallo por que me pide un objeto Date al parecer y de la base de datos viene en formato String.

Bueno a ver si me hechais un cable por que no se como hacer de todas formas gracias por la ayuda prestada hasta ahora Un saludo

#unapprove_message#
RE: invertir fecha 27/11/2008 15:21
locovich Crea dos formateadores. Uno con el patrón "yyyy-MM-dd" para pasar de String a Date (parse) y otro con el patrón ("dd-MM-yyyy") para convertir ese Date a String (format).
#unapprove_message#
RE: invertir fecha 27/11/2008 16:06
anonymous blank_page

Si solo trabajas con cadenas de fechas y no con un objeto fecha en si, te puede valer crear un método tal que:

public String reverseDate(String date, String splitCharacter) {
  String[] dateParts = date.split(splitCharacter);
  ArrayUtils.reverse(dateParts);
  return StringUtils.join(dateParts, splitCharacter); 
 }

 A este método le pasas la cadena de la fecha y el separador usado entre datos y lo hace

#unapprove_message#
RE: RE: invertir fecha 27/11/2008 16:18
mariaanie

Hola, la verdad es que seguimos igual, no funciona os pongo el código a ver que veis:

String pfecha = pageContext.getAttribute("ba_ultcomfec").toString( );
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); 
java.util.Date fechauno=sdf.parse(pfecha);     &nb sp;         &nb sp; 
SimpleDateFormat sdfdos= new SimpleDateFormat("dd-MM-yyyy"); 
java.util.Date fechaformateada=sdfdos.format(fechauno);

Este es el error:

No se puede compilar la clase para JSP Ha tenido lugar un error en la línea: 302 en el archivo jsp: /info/infonota.jsp Error de servlet generado: Type mismatch: cannot convert from String to Date

Gracias de todos modos
 

#unapprove_message#
RE: invertir fecha 27/11/2008 16:38
anonymous

Con el método que puse antes te vale, pero si sigues queriendo usar el SimpleDateFormat....

String pfecha = pageContext.getAttribute("ba_ultcomfec").toString( );

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
Date fecha = sdf1.parse(pfecha);
  
SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MM-yyyy");
String fechaformateada = sdf2.format(fecha);

#unapprove_message#
RE: invertir fecha 27/11/2008 16:39
anonymous

Con el método que puse antes te vale, pero si sigues queriendo usar el SimpleDateFormat....

String pfecha = pageContext.getAttribute("ba_ultcomfec").toString( );

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
Date fecha = sdf1.parse(pfecha);
  
SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MM-yyyy");
String fechaformateada = sdf2.format(fecha);

#unapprove_message#
RE: invertir fecha 27/11/2008 17:04
locovich

El error está en:

 java.util.Date fechaformateada=sdfdos.format(fechauno);

El método format() te devuelve un String, no un Date.

#unapprove_message#
RE: RE: invertir fecha 27/11/2008 17:28
mariaanie Hola, pues tienes razon de las dos formas funciona, muchas gracias por la ayuda prestada un saludo y hasta la proxima bye
#unapprove_message#
#thread_expired#.
Sun Microsystem Logo NHT-Norwick Logo

© 2002-2007 Asociación javaHispano