Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   COBOL - General (https://www.cobolforo.es/forumdisplay.php?f=44)
-   -   [Sintaxis] Formatear Fecha (https://www.cobolforo.es/showthread.php?t=1701)

dariodr 29 de noviembre de 2023 10:20

Formatear Fecha
 
Buenas comunidad, tengo este codigo (es simple) lo que quiero es formatear la fecha al formato YY/MM/DD con las barras de separacion y no me sale, que hago mal.
Saludos.

Código COBOL:
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. YOUR-PROGRAM-NAME.
  3.        DATA DIVISION.
  4.        FILE SECTION.
  5.        WORKING-STORAGE SECTION.
  6.        01  HOY        PIC 9(6).
  7.        01  FECHA-HOY.
  8.            03 ANIO    PIC 99.
  9.            03 FILLER  PIC X VALUE '/'.
  10.            03 MES     PIC 99.
  11.            03 FILLER  PIC X VALUE '/'.
  12.            03 DIA     PIC 99.
  13.        PROCEDURE DIVISION.
  14.        MAIN-PROCEDURE.
  15.             DISPLAY "Fecha: ".
  16.             ACCEPT HOY FROM DATE.
  17.             MOVE HOY TO FECHA-HOY.
  18.             DISPLAY FECHA-HOY.
  19.             STOP RUN.
  20.        END PROGRAM YOUR-PROGRAM-NAME.

fastpho 29 de noviembre de 2023 19:07

Hola @dariodr

Código COBOL:
  1.  WORKING-STORAGE SECTION.    
  2.  01  HOY.
  3.       03 Hoy-Anio   PIC 99.
  4.       03 Hoy-Mes   PIC 99.
  5.       03 Hoy-Dia    PIc 99.
  6.  
  7.  01  FECHA-HOY.
  8.      03 ANIO    PIC 99.
  9.      03 FILLER  PIC X VALUE '/'.
  10.      03 MES     PIC 99.
  11.      03 FILLER  PIC X VALUE '/'.
  12.      03 DIA     PIC 99.  
  13.  PROCEDURE DIVISION.
  14.             ACCEPT HOY FROM DATE.
  15.            *>MOVE HOY TO FECHA-HOY.
  16.             MOVE Hoy-Anio TO ANIO
  17.             MOVE Hoy-Mes  TO MES
  18.             MOVE Hoy-Dia  TO DIA
  19.             DISPLAY FECHA-HOY.

Saludos ....

JCantero 29 de noviembre de 2023 20:28

@dariodr, cuestión de gustos, pero a mi e gusta hacerlo así:

Código COBOL:
  1.          string hoy(1:2) '/' hoy(3:2) '/' hoy(5:2) delimited by size into fecha-hoy

y si quieres ponerla en formato dd/mm/aa

Código COBOL:
  1.          string hoy(5:2) '/' hoy(3:2) '/' hoy(1:2) delimited by size into fecha-hoy

Fito 30 de noviembre de 2023 02:38

Hola:

Tambien lo podés hacer de esta manera

Código COBOL:
  1.  
  2.        WORKING-STORAGE SECTION.
  3.        01  HOY           PIC 9(6).
  4.        01  FECHA-HOY     pic 99/99/99.
  5.  
  6.        PROCEDURE DIVISION.
  7.  
  8.        MAIN-PROCEDURE.
  9.             ACCEPT HOY FROM DATE.
  10.             MOVE HOY TO FECHA-HOY.
  11.             DISPLAY FECHA-HOY.
  12.             STOP RUN.

Josber 30 de noviembre de 2023 11:57

Yo soy más clásico
Código COBOL:
  1. 01  FECHA.
  2.       03  AA                 PIC 99.
  3.       03  MM                PIC 99.
  4.       03  DD                 PIC 99.
  5.  
  6. 01  FECHA-EDI.
  7.       03  DD                 PIC 99.
  8.       03  FILLER           PIC X VALUE "/".
  9.       03  MM                PIC 99.
  10.       03  FILLER           PIC X VALUE "/".
  11.       03  AA                 PIC 99.
  12. .
  13. .
  14. .
  15.  
  16.       ACCEPT FECHA FROM DATE.
  17.       MOVE CORRESPONDING FECHA TO FECHA-EDI.

Lo pongo porque, veo que en el foro, se ha comentado o se ha puesto muy pocas veces algo usando el verbo CORR ó CORRESPONDING y, es más útil de lo que parece.
Un saludo a todos.


La franja horaria es GMT +2. Ahora son las 02:45.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.