-
Cómo convertir una fecha a la marca de tiempo Unix en COBOL
-
La mayoría de las empresas a mantener los sistemas informáticos que pasan información crítica entre diferentes plataformas. sistemas mainframe apoyan código heredado y sistemas centrales grandes, mientras que los sistemas cliente-servidor más pequeños corriendo Unix, sistemas operativos basados en Linux o Windows se utilizan para aplicaciones cliente-servidor y web. Para integrar los sistemas, el sistema informático central acomoda las diferencias de formato al pasar los datos a otras plataformas. COBOL es el idioma preferido por muchos sistemas heredados. Con unos pocos comandos que se utilizan en secuencia, que traduce una fecha para la marca de tiempo Unix.Instrucciones
1 Definir campos en el almacenamiento de trabajo para almacenar valores.
01 NÚMERO DE DÍAS DE LA PIC 9 (09) CEROS DE VALOR.
01-ACTUAL FECHA-CAMPOS.
05 CURRENT-DATE-VALUE.
10 ACTUAL-YY PIC 9 (04) CEROS valor.
10 ACTUAL-MM PIC 9 (02) CEROS valor.
10 ACTUAL-DD PIC 9 (02) CEROS valor.
05-ACTUAL Valor temporal.
10 HORAS DE CORRIENTE PIC 9 (02) CEROS valor.
10 MIN-ACTUAL PIC 9 (02) CEROS valor.
10 ACTUAL-SEC PIC 9 (02) CEROS valor.
10 ACTUAL-MS PIC 9 (02) CEROS valor.
01 SEGUNDOS-IN-A-DAY PIC 9 (05) VALOR 86400.
01 SEGUNDOS-IN-A-HORA PIC 9 (05) VALOR 3600.
01 SEGUNDOS-IN-A-MIN PIC 9 (02) VALOR 60.
01 UNIX-TIMESTAMP PIC 9 (10) CEROS valor.
2 Encuentra la fecha y la hora actual utilizando esta función COBOL.
MOVER LA FUNCIÓN ACTUAL-FECHA DE CORRIENTE-FECHA-CAMPOS.
3 La marca de tiempo Unix representa el número de segundos que han transcurrido desde el 1 de enero de 1970. Encuentra la diferencia entre la fecha y el 1 de enero de 1970 actual utilizando el comando de cálculo y la función número entero de fecha en un programa COBOL.
CÓMPUTO número-de-DIAS = función entera de fecha (FECHA ACTUAL-VALOR) -
FUNCTION INTEGER-OF-DATE ("19700101").
4 Encontrar el número de segundos que han pasado desde el 1 de enero de 1970 por el cálculo del número de segundos durante el día, hora y minuto y sumándolos.
CÓMPUTO UNIX-TIMESTAMP =
(NÚMERO DE DÍAS DE LA * SEGUNDOS-IN-A-DIA) +
(ACTUAL HORAS * SEGUNDOS-IN-A-HORA) +
(ACTUAL-MIN * SEGUNDOS-IN-A-MIN) +
ACTUAL-SEC.
Consejos y advertencias
- La función de número entero es útil para añadir o restar días a partir de una fecha sin perder de vista el número específico de días de cada mes.
- Codificar la utilidad o programa en la plataforma Unix para reconocer el campo.