Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/06/2015, 08:33
Avatar de giuli956
giuli956
 
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Me muestra mal la fecha

me muestra 14/06/0018 si hago:

Código Java:
Ver original
  1. System.out.println(A1.getFechaNac());
A1 es de tipo Alumno que hereda de persona...

Ya pase todos los atributos a GregorianCalendar y los getters setters y constructores tambien...

Código Java:
Ver original
  1. public class Persona {
  2.     protected String Nombre,Apellido;
  3.     protected GregorianCalendar fechaNac;
  4.     protected String tipoDoc;
  5.     protected Long numDoc;
  6.     public String getNombre() {
  7.         return Nombre;
  8.     }
  9.     public GregorianCalendar fechaValida(){
  10.         GregorianCalendar c = (GregorianCalendar) Calendar.getInstance();
  11.  
  12.        
  13.         c.add(Calendar.YEAR,-18);
  14.  
  15.  
  16.         return c;
  17.     }
  18.     public void setNombre(String nombre) {
  19.         Nombre = nombre;
  20.     }
  21.     public String getApellido() {
  22.         return Apellido;
  23.     }
  24.     public void setApellido(String apellido) {
  25.         Apellido = apellido;
  26.     }
  27.     public GregorianCalendar getFechaNac() {
  28.        
  29.         return fechaNac;
  30.     }
  31.     public void setFechaNac(GregorianCalendar fechaNac) {
  32.         this.fechaNac=fechaNac;
  33.     }
  34.     public String getTipoDoc() {
  35.         return tipoDoc;
  36.     }
  37.     public void setTipoDoc(String tipoDoc) {
  38.         this.tipoDoc = tipoDoc;
  39.     }
  40.     public Long getNumDoc() {
  41.         return numDoc;
  42.     }
  43.     public void setNumDoc(Long numDoc) {
  44.         this.numDoc = numDoc;
  45.     }
  46.    
  47.     public String obtenerNombreCompleto(){
  48.         /* @param Nombre=es el nombre de la persona
  49.          * @param Apellido=es el apellido de la persona
  50.          * @return Devuelve el nombre completo
  51.          */
  52.         return (Nombre + Apellido);
  53.     }
  54.     public Persona(){
  55.        
  56.     }
  57.     public Persona(String NombreP,String ApellidoP, String tipoDocP, GregorianCalendar fechaNacP
  58.             ,Long numDocP){
  59.         this.Nombre=NombreP;
  60.         this.Apellido=ApellidoP;
  61.         this.tipoDoc=tipoDocP;
  62.    
  63.        
  64.        
  65.         if (fechaNacP.before(this.fechaValida())){
  66.             this.fechaNac = fechaNacP;
  67.         }else{
  68.         System.out.println("usted es menor de edad");
  69.         }
  70.         this.numDoc=numDocP;
  71.        
  72.     }
  73.  
  74. }

No se donde puede estar el problema.

Y en la clase visor

Código Java:
Ver original
  1. public static void mostrarFechas(Persona persona){
  2.         String mascara = "dd/MM/yyyy";
  3.         Calendar per = persona.getFechaNac();
  4.         StringBuilder fecha=new StringBuilder("la persona nacio el:");
  5.         SimpleDateFormat sdf = new SimpleDateFormat(mascara);
  6.  
  7.         System.out.println( sdf.format(per.getTime()));
  8.    
  9.        
  10.     }

Agradeceria su ayuda