Rational Developer for System z
PL/I for Windows, Version 8.0, プログラミング・ガイド

パターンおよびウィンドウ操作

2 桁の年 (YY) を持った日付をどのように解釈するかを定義するには、WINDOW コンパイル時オプションを使用して、世紀ウィンドウを定義します。 前に説明したように、世紀ウィンドウは、2 桁の年が適用される、100 年の幅の開始年を定義します。

PL/I の 2000 年言語拡張 を使用しない場合は、window (w) を使用して、y2 を、2 桁の年から 4 桁の年に変換する、次のような論理をインプリメントする必要があります。

  dcl y4 pic'9999';
  dcl cc pic'99';

  cc = w/100;

  if y2 < mod(w,100) then
    y4 = (100 * cc) + 100 + y2;
  else
    y4 = (100 * cc) + y2;

この例を使用すると、WINDOW(1900) を指定する場合は、19 は 1919 年と解釈されます。しかし、WINDOW(1950) を指定する場合は、19 は 2019 年と解釈されます。

逆に、この論理は、4 桁の年から変換する場合は、2 桁の年 (y2) を計算します。

  dcl y4 pic'9999';

  if y4 < w | y4 >= w + 100 then
      signal error;

  y2 = mod(y4,100);

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)