Mostrando entradas con la etiqueta Cambiar el formato de una fecha introducida. Mostrar todas las entradas
Mostrando entradas con la etiqueta Cambiar el formato de una fecha introducida. Mostrar todas las entradas

Cambiar el formato de una fecha introducida


- Hacer un programa que acepte una fecha con el formato dd / mm / aaaa (día, mes, año) y el visualice en su formato normal (en letras). Pr ejemplo: 14/10/2007 -> 14 de octubre de 2007
 
  1.  import cs1.*;
  2.    import java.text.SimpleDateFormat;
  3.    import java.text.DateFormat;
  4.    import java.util.Date;
  5.  
  6.    public class ejerc6
  7.    {
  8.       public static void main (String[] args)
  9.       {
  10.       //Variables
  11.          String fecha, numeros = "0123456789";
  12.          int fechalarga = 0, dia, mes, any, numerodias;
  13.          char d1, d2, b1, b2, m1, m2, a1, a2, a3, a4;
  14.          boolean error, error2, error3;
  15.    
  16.       //Introduci—n de datos
  17.          System.out.print("\n Introduce una fecha con el siguiente formato: dd/mm/aaaa: ");
  18.          fecha = Keyboard.readString();
  19.        
  20.       //Especificaci—n de las variables con su posici—n
  21.          fechalarga = fecha.length();
  22.        
  23.          if (fechalarga != 10)
  24.          {
  25.             System.out.print("Error, la fecha no tiene longitud 10.");
  26.          }
  27.          else
  28.          {
  29.             b1 = fecha.charAt(2);
  30.             b2 = fecha.charAt(5);
  31.             if ((b1 != '/') || (b2 != '/'))
  32.             {
  33.                System.out.print( "La fecha no corresponde al formato dd/mm/aaaa");
  34.             }
  35.             else
  36.             {
  37.                d1 = fecha.charAt(0);
  38.                d2 = fecha.charAt(1);
  39.                b1 = fecha.charAt(2);
  40.                m1 = fecha.charAt(3);
  41.                m2 = fecha.charAt(4);
  42.                a1 = fecha.charAt(6);
  43.                a2 = fecha.charAt(7);
  44.                a3 = fecha.charAt(8);
  45.                a4 = fecha.charAt(9);
  46.                error = ((numeros.indexOf(d1) < 0) || (numeros.indexOf(d2) < 0) ||
  47.                         (numeros.indexOf(m1) < 0) || (numeros.indexOf(m2) < 0) ||
  48.                       (numeros.indexOf(a1) < 0) || (numeros.indexOf(a2) < 0) ||
  49.                       (numeros.indexOf(a3) < 0) || (numeros.indexOf(a4) < 0));
  50.                if (error)        
  51.                   System.out.print("La fecha no corresponde al formato dd/mm/aaaa");
  52.                else
  53.                {
  54.                   dia = Integer.valueOf(fecha.substring(0,2)).intValue();
  55.                   mes = Integer.valueOf(fecha.substring(3,5)).intValue();
  56.                   any = Integer.valueOf(fecha.substring(6)).intValue();
  57.                   System.out.println("\nDia: " + dia + " Mes: " + mes + " A–o: " + any);
  58.                
  59.                
  60.                //Verificaci—n de los dias del mes de febrero
  61.                   if ( ((any % 4 == 0) && !(any % 100 == 0)) || (any % 400 == 0) )
  62.                      numerodias = 29;
  63.                   else
  64.                      numerodias = 28;
  65.              
  66.                //Condiciones
  67.                   if (dia < 32) {
  68.                      if (mes == 2) {
  69.                         if (numerodias == 28 & dia <=28 ) {
  70.                            System.out.println( "La fecha es: " + dia + " de Febrero del a–o " + any );
  71.                         }
  72.                         if (numerodias == 29 & dia <=29 ) {
  73.                            System.out.println( "La fecha es: " + dia + " de Febrero del a–o " + any );    
  74.                         }
  75.                         else {
  76.                            System.out.println( "El dia introducido no existe en este mes" );
  77.                         }
  78.                    
  79.                      }
  80.                    
  81.                      else {
  82.                    
  83.                         switch (mes) {
  84.                      
  85.                            case 1 :
  86.                               if (dia <= 31) {
  87.                                  System.out.println( "La fecha es: " + dia + " de Enero del a–o " + any );
  88.                               }
  89.                               else {
  90.                                  System.out.println("El dia introducido es incorrecto" );
  91.                               }
  92.                               break;
  93.                            case 3 :
  94.                               if (dia <= 31) {
  95.                                  System.out.println( "La fecha es: " + dia + " de Marzo del a–o " + any );
  96.                               }
  97.                               else {
  98.                                  System.out.println("El dia introducido es incorrecto" );
  99.                               }
  100.                               break;
  101.                            case 4 :
  102.                               if (dia <= 30) {
  103.                                  System.out.println( "La fecha es: " + dia + " de Abril del a–o " + any );
  104.                               }
  105.                               else {
  106.                                  System.out.println("El dia introducido es incorrecto" );
  107.                               }
  108.                               break;
  109.                            case 5 :
  110.                               if (dia <= 31) {
  111.                                  System.out.println( "La fecha es: " + dia + " de Mayo del a–o " + any );
  112.                               }
  113.                               else {
  114.                                  System.out.println("El dia introducido es incorrecto" );
  115.                               }
  116.                               break;
  117.                            case 6 :
  118.                               if (dia <= 30) {
  119.                                  System.out.println( "La fecha es: " + dia + " de Junio del a–o " + any );
  120.                               }
  121.                               else {
  122.                                  System.out.println("El dia introducido es incorrecto" );
  123.                               }      
  124.                               break;
  125.                            case 7 :
  126.                               if (dia <= 31) {
  127.                                  System.out.println( "La fecha es: " + dia + " de Julio del a–o " + any );
  128.                               }
  129.                               else {
  130.                                  System.out.println("El dia introducido es incorrecto" );
  131.                               }
  132.                               break;
  133.                            case 8 :
  134.                               if (dia <= 31) {
  135.                                  System.out.println( "La fecha es: " + dia + " dd Agosto del a–o " + any );
  136.                               }
  137.                               else {
  138.                                  System.out.println("El dia introducido es incorrecto" );
  139.                               }
  140.                               break;
  141.                            case 9 :
  142.                               if (dia <= 30) {
  143.                                  System.out.println( "La fecha es: " + dia + " de Septembre del a–o " + any );
  144.                               }
  145.                               else {
  146.                                  System.out.println("El dia introducido es incorrecto" );
  147.                               }
  148.                               break;
  149.                            case 10 :
  150.                               if (dia <= 31) {
  151.                                  System.out.println( "La fecha es: " + dia + " de Octubre del a–o " + any );
  152.                               }
  153.                               else {
  154.                                  System.out.println("El dia introducido es incorrecto" );
  155.                               }
  156.                               break;
  157.                            case 11 :
  158.                               if (dia <= 30) {
  159.                                  System.out.println( "La fecha es: " + dia + " de Noviembre del a–o " + any );
  160.                               }
  161.                               else {
  162.                                  System.out.println("El dia introducido es incorrecto" );
  163.                               }      
  164.                               break;
  165.                            case 12 :
  166.                               if (dia <= 31) {
  167.                                  System.out.println( "La fecha es: " + dia + " de Diciembre del a–o " + any );
  168.                               }
  169.                               else {
  170.                                  System.out.println("El dia introducido es incorrecto" );
  171.                               }
  172.                               break;
  173.                            default : System.out.println( "El mes es incorrecto" );
  174.                               break;    
  175.                         }
  176.                      }
  177.                   }
  178.                   else {
  179.                      System.out.println( "El dia introducido es incorrecto" );
  180.                   }
  181.                }
  182.             }
  183.          }
  184.       }
  185.    }