En esta sección: |
Las funciones de fechas legacy fueron creadas para su uso con fechas en formato de número entero, decimal empaquetado o alfanumérico.
Para más detalles acerca de cada función de fechas legacy, consulte:
AYM: Cómo añadir o restar meses
AYMD: Cómo añadir o restar días
CHGDAT: Cómo cambiar la visualización de fecha
Funciones DA: Cómo convertir una fecha legacy en un número entero
DMY, MDY, YMD: Cómo calcular la diferencia entre dos fechas
DOWK y DOWKL: Cómo hallar el día de la semana
Funciones DT: Cómo convertir un número entero en una fecha
GREGDT: Cómo pasar del formato juliano al formato gregoriano
JULDAT: Cómo convertir del formato gregoriano al formato juliano
YM: Cómo calcular meses transcurridos
Cómo: |
Las funciones de fechas descritas en esta sección son de tipo legacy. Se crearon para ser utilizadas con fechas en formato alfanumérico o de número entero. Su uso ya no se recomienda para la manipulación de fechas. Es preferible utilizar las funciones de fechas estándar o las de fecha-hora.
Todas las funciones de fechas legacy son compatibles con las fechas del año 2000 y posteriores. Puede que las versiones anteriores de estas funciones no funcionen correctamente con fechas posteriores al 31 diciembre 1999. Sin embargo, es posible que, en algunos casos, desee usar una versión anterior de una función; por ejemplo, si no utiliza las fechas de los años 2000. Puede desactivar la versión actual mediante el parámetro DATEFNS.
Las funciones de fechas legacy aceptan los años de dos o cuatro dígitos. Puede usar los años de cuatro dígitos que indican el siglo, como 2000 o 1900, si sus formatos están especificados como I8YYMD, P8YYMD, D8YYMD, F8YYMD o A8YYMD. Los años de dos dígitos pueden usar los parámetros DEFCENT y YRTHRESH para asignar valores de siglo, si el campo tiene una longitud de seis (por ejemplo, I6YMD). Para información sobre estos parámetros, consulte Cómo personalizar su entorno en Cómo desarrollar aplicaciones de informes.
La función EDIT crea fechas con años de cuatro dígitos. Las funciones JULDAT y GREGDT se encargan de convertir estas fechas a los formatos juliano y gregoriano.
DEFINE FILE EMPLOYEE DATE/I8YYMD = EDIT('19'|EDIT(HIRE_DATE)); JDATE/I7 = JULDAT(DATE, 'I7'); GDATE/I8 = GREGDT(JDATE, 'I8'); END TABLE FILE EMPLOYEE PRINT DATE JDATE GDATE END
La salida es:
DATE JDATE GDATE ---- ----- ----- 1980/06/02 1980154 19800602 1981/07/01 1981182 19810701 1982/05/01 1982121 19820501 1982/01/04 1982004 19820104 1982/08/01 1982213 19820801 1982/01/04 1982004 19820104 1982/07/01 1982182 19820701 1981/07/01 1981182 19810701 1982/04/01 1982091 19820401 1982/02/02 1982033 19820202 1982/04/01 1982091 19820401 1981/11/02 1981306 19811102 1982/04/01 1982091 19820401 1982/05/15 1982135 19820515
La función AYMD devuelve una fecha de ocho dígitos, cuando el formato de entrada tiene un formato de fecha legacy de seis dígitos. Puesto que DEFCENT es 19 y YRTHRESH es 83, los valores de años entre 83 y 99 se interpretan como de 1983 a 1999, mientras que los valores entre 00 y 82 se tratan como de 2000 a 2082.
SET DEFCENT=19, YRTHRESH=83 DEFINE FILE EMPLOYEE NEW_DATE/I8YYMD = AYMD(EFFECT_DATE, 30, 'I8'); END TABLE FILE EMPLOYEE PRINT EFFECT_DATE NEW_DATE BY EMP_ID END
La salida es:
EMP_ID EFFECT_DATE NEW_DATE ------ ----------- -------- 071382660 112847612 117593129 82/11/01 2082/12/01 119265415 119329144 83/01/01 1983/01/31 123764317 83/03/01 1983/03/31 126724188 219984371 326179357 82/12/01 2082/12/31 451123478 84/09/01 1984/10/01 543729165 818692173 83/05/01 1983/05/31
WebFOCUS |