GREGDT: Cómo pasar del formato juliano al formato gregoriano

Cómo:

Referencia:

Idiomas disponibles: informes, Maintain

La función GREGDT convierte las fechas en formato juliano (año-día) al formato gregoriano (año-mes-día).

Las fechas en formato juliano son números de cinco o siete dígitos. Los dos, o cuatro, primeros dígitos son el año y los tres últimos, el número del día, empezando por el 1 de enero. Por ejemplo, en el formato juliano, Enero 1, 1999 es 99001 o 1999001; Junio21, 2004 es 2004173 en formato juliano.


Principio de página

x
Referencia: Configuración DATEFNS de GREGDT

Si es necesario, GREGDT convierte las fecha julianas al formato YMD o YYMD mediante las configuraciones de parámetro DEFCENT y YRTHRESH, para determinar el siglo. GREGDT devuelve una fecha de la manera siguiente:

Configuración DATEFNS

Formato I6 o I7

Formato I8 o superior

ON

YMD

YYMD

OFF

YMD

YMD



x
Sintaxis: Cómo Pasar del formato juliano al formato gregoriano
GREGDT(indate, output)

donde:

indate

I5 o I7

Es la fecha juliana, truncada a un número entero antes de la conversión. Después del truncamiento, cada valor debe ser un número de cinco o siete dígitos. Si la fecha no es válida, la función devuelve un 0 (cero).

output

I6, I8, I6YMD o I8YYMD

Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas.



Ejemplo: Cómo pasar del formato juliano al formato gregoriano

GREGDT convierte el campo JULIAN al formato YYMD (gregoriano). Determina el siglo mediante la configuración por defecto de los parámetros DEFCENT y YRTHRESH.

TABLE FILE EMPLOYEE
PRINT HIRE_DATE AND
COMPUTE JULIAN/I5 = JULDAT(HIRE_DATE, JULIAN); AND
COMPUTE GREG_DATE/I8 = GREGDT(JULIAN, 'I8');
BY LAST_NAME BY FIRST_NAME
WHERE DEPARTMENT EQ 'PRODUCTION';
END

La salida es:

LAST_NAME     FIRST_NAME  HIRE_DATE  JULIAN  GREG_DATE
---------     ----------  ---------  ------  ---------
BANNING       JOHN         82/08/01   82213   19820801
IRVING        JOAN         82/01/04   82004   19820104
MCKNIGHT      ROGER        82/02/02   82033   19820202
ROMANS        ANTHONY      82/07/01   82182   19820701
SMITH         RICHARD      82/01/04   82004   19820104
STEVENS       ALFRED       80/06/02   80154   19800602

WebFOCUS