entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Cambiar formato de fecha con Calendar en Java

Buenas, mi duda está relacionada con el tipo Calendar de JAVA, su formato de fecha predeterminada es (yyyy--MM--dd) y necesito cambiar el orden para tenerlo de esta manera (dd--MM--yyyy).

Llevo un buen rato probando pero siempre me da fallo, ahora mismo el código lo tengo de esta manera:

public String getFechaMod(){
        SimpleDateFormat sf = new SimpleDateFormat("dd-MM-yyyy");
        return sf.format(fechaMod);
    }

Y siempre me salta este error;

Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date
    at java.text.DateFormat.format(Unknown Source)
    at java.text.Format.format(Unknown Source)
    at fp.tipos.apps.AppImpl.getStrFechaVersion(AppImpl.java:100)
    at fp.tipos.apps.AppImpl.toString(AppImpl.java:135)

Espero su pronta respuesta y gracias !! Un saludo

0voto

Leonardo-Tadei comentado

De dónde toma valor fechaMod? No deberías estarlo pasando como parámetro a getFechaMod() ?

0voto

daboca92 comentado

fechaMod es un atributo privado de la clase, y que es consultable con un método anterior creado antes que éste, por lo tanto no debe pasar como parámetro

0voto

Leonardo-Tadei comentado

y de qué tipo es el atributo privado fechaMod?

0voto

daboca92 comentado

Es de tipo Calendar

1 Respuesta

4votos

Leonardo-Tadei Puntos227320

Hola daboca92,

si no estoy viendo mal el manual, el método format() de la clase SimpleDateFormat espera como mensaje un objeto de tipo Date

http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#format%28java.util.Date,%20java.lang.StringBuffer,%20java.text.FieldPosition%29

y por eso te da un error al formatear.

Probá con getTime() :

public String getFechaMod(){
   SimpleDateFormat sf = new SimpleDateFormat("dd-MM-yyyy");
   return sf.format(fechaMod.getTime());
}

que es la forma en que Calendar devuelve la fecha contenida en él: http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#getTime%28%29

Saludos cordiales!

0voto

daboca92 comentado

Oh si! Muchas gracias me ha funcionado !!

Un saludo!!

0voto

Leonardo-Tadei comentado

Me alegra que haya funcionado!

0voto

Peter comentado

@daboca92 si esta es la solución, por favor selecciona la respuesta como correcta.

Saludos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta