GREGDT - ユリウス暦から太陽暦フォーマットに変換

GREGDT 関数は、日付をユリウス暦フォーマット (年日) から太陽暦フォーマット (年月日) に変換します。

ユリウス暦フォーマットの日付は、5 桁または 7 桁の数値です。先頭の 2 桁または 4 桁は年、末尾の 3 桁は 1 月 1 日から数えた日数です。たとえば、ユリウス暦フォーマットの 1999 年 1 月 1 日は 99001 または 1999001であり、2004 年 6 月 21 日は 2004173 です。

GREGDT のフォーマットオプション

GREGDT 関数は、ユリウス暦の日付を YMD または YYMD フォーマットに変換します。必要に応じて、DEFCENT および YRTHRESH パラメータ設定を使用して世紀を決定します。GREGDT 関数は、日付を次のように返します。

  • フォーマットが I6 または I7 の場合、GREGDT は YMD フォーマットで日付を返します。
  • フォーマットが I8 以上の場合、GREGDT は YYMD フォーマットで日付を返します。

ユリウス暦から太陽暦フォーマットに変換

GREGDT(indate, output)

説明

indate

I5 または I7

ユリウス暦の日付です。変換前に日付の末尾が切り捨てられて整数になります。切り捨て後の値が 5 桁または 7 桁の数値になる必要があります。日付が有効でない場合、この関数は 0 (ゼロ) を返します。

output

I6、I8、I6YMD、I8YYMD

結果を格納するフィールド名、または出力フォーマットです。フォーマットは一重引用符 (') で囲みます。

ユリウス暦から太陽暦フォーマットに変換

GREGDT 関数は、JULIAN フィールドを YYMD (太陽暦) フォーマットに変換します。世紀は、デフォルトの DEFCENT および 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

出力結果は次のとおりです。

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