Come convertire una data unix timestamp in COBOL

June 20

Come convertire una data unix timestamp in COBOL


La maggior parte delle aziende di mantenere i sistemi informatici che passano le informazioni critiche tra le diverse piattaforme. sistemi mainframe supportano codice legacy e grandi sistemi core, mentre i sistemi client server più piccoli in ambiente Unix, sistemi operativi basato su Linux o Windows vengono utilizzati per le applicazioni client-server e web. Per integrare i sistemi, il sistema informatico centrale accoglie le differenze di formattazione quando passa i dati ad altre piattaforme. COBOL è la lingua preferita per molti sistemi legacy. Con pochi comandi utilizzati in sequenza, si traduce una data per Unix time-stamp.

istruzione

1 Definire i campi in memoria di lavoro per memorizzare valori.

01 NUMERO-of-GIORNI PIC 9 (09) ZERI VALUE.

01 current-date-Fields.

05 CURRENT-DATE-VALUE.

10 CORRENTE-YY PIC 9 (04) ZERI valore.

10 CORRENTE-MM PIC 9 (02) ZERI valore.

10 CORRENTE-DD PIC 9 (02) ZERI valore.

05 del tempo corrente VALORE.

10 CORRENTE ORE PIC 9 (02) ZERI valore.

10 CORRENTE-MIN PIC 9 (02) ZERI valore.

10 CORRENTE-SEC PIC 9 (02) ZERI valore.

10 CORRENTE-MS PIC 9 (02) ZERI valore.

01 SECONDI-IN-A-DAY PIC 9 (05) VALORE 86400.

01 SECONDI-in-a-ORE PIC 9 (05) VALORE 3600.

01 SECONDI-in-a-MIN PIC 9 (02) VALORE 60.

01 UNIX-TIMESTAMP PIC 9 (10) ZERI valore.

2 Trova la data e l'ora correnti di utilizzare questa funzione COBOL.

Funzione di spostamento current-date agli attuali-DATA-Fields.

3 Il timestamp Unix rappresenta il numero di secondi che sono passati dal 1 gennaio 1970. Trova la differenza tra la data corrente e il 1 gennaio 1970 da utilizzando il comando di calcolo e la funzione integer-of-date in un programma COBOL.

COMPUTE NUMERO-DI-GIORNI = FUNZIONE INTERO-of-date (current-date-value) -

FUNCTION INTEGER-OF-DATE ("19700101").

4 Trovare il numero di secondi trascorsi dal 1 gennaio 1970 dal calcolo del numero di secondi per giorno, ora e minuto e sommandoli.

COMPUTE UNIX TIMESTAMP =

(NUMERO DI-giornata * SECONDI-IN-A-DAY) +

(CURRENT ORE * SECONDI-in-a-ORE) +

(Corrente-MIN * SECONDI-in-a-MIN) +

CURRENT-SEC.

Consigli e avvertenze

  • La funzione integer è utile per aggiungere o sottrarre giorni da una data senza tenere traccia del numero di giorni in ogni mese.
  • Codice l'utilità o il programma sulla piattaforma Unix a riconoscere il campo.