日付と時刻を検証し、形式を変換します。
Synopsis
$ZDATETIME(hdatetime,dformat,tformat,precision,monthlist,yearopt,startwin,endwin,mindate,maxdate,erropt)
$ZDT(hdatetime,dformat,tformat,precision,monthlist,yearopt,startwin,endwin,mindate,maxdate,erropt)
-
-
$ZDT(
hdatetime,
dformat,
tformat,
precision,
monthlist,
yearopt,
startwin,
endwin,
mindate,
maxdate,
erropt) は、
dformat と
tformat および他のパラメータで指定された形式の
hdatetime を返します。
時刻の値を表記する形式を指定する数値です。サポートされる値は以下の通りです。
-1: は、現在のロケールの TimePrecision プロパティから
precision 値を取得します。既定は 0 です。
precision を指定しなければ、これが既定の振る舞いになります。
ゼロ (0) 以上の
n の値は、時刻を少数点以下の
n 桁まで表すことを示します。
指定した月名を含む文字列あるいは変数名です。詳細は、パラメータのセクションを参照してください。
monthlist にある名前は、現在のロケールの MonthAbbr プロパティに指定されている既定の月の省略値を置き換えます。
monthlist を使用して、正式な月名や、英語以外の言語の月名、およびその省略名を指定します。
monthlist の最初の文字は、区切り文字を指定します (既定リストにある Jan の前の空白をご覧ください)。各月の名前、もしくは
monthlist にある省略名の間に、同じ区切り文字を置く必要があります。この区切り文字は、返される日付の月、日、年の間に表示されます。
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
しかし、
dformat が 9 の場合、
$ZDATETIME は現在のロケールの MonthName プロパティで定義される正式な名前リストを使用します。既定は以下の通りです。
January February March ... November December
dformat 値に 0、1、2、4、7 を使用して、年を 2 桁で表示する時間ウィンドウを指定する数値コードです。
yearopt の値は以下の通りです。
yearopt が 5 のとき、スライディング・ウィンドウは常に
startwin で指定する年の最初の日付 (1 月 1 日) で開始し、
endwin で指定する年の最後の日付 (12 月 31 日) あるいは暗黙の年の最後 (
endwin が省略されているとき) で終了します。
endwin を省略、あるいは -1 を指定した場合、スライディング・ウィンドウの有効期限は 100 年間です。
startwin と
endwin の両方を指定する場合、指定するスライディング・ウィンドウの年数は 100 年以内に収める必要があります。
有効な日付の下限を指定する数値です。
mindate を省略、あるいは -1 を指定すると、現在のロケールの DateMinimum プロパティから下限を取得します。既定は 0 (1840 年 12 月 31 日) です。
有効な日付の上限を指定する数値です。
maxdate を省略、あるいは -1 を指定すると、現在のロケールの DateMaximum プロパティから上限を取得します。既定は 2980013 (9999 年 12 月 31 日) です。
このパラメータは、
hdatetime が無効あるいは範囲外の場合に生じるエラー・メッセージを制御します。<ILLEGAL VALUE> あるいは <VALUE OUT OF RANGE> エラー・メッセージを生じる代わりに、関数は
erropt を返します。
以下の例は、現在のローカル日付および時刻を表示します (この場合、2002 年 11 月 25 日 1:45:16 pm)。最初の例は、ロケールの既定の形式で表示します。
WRITE $ZDATETIME($HOROLOG)
以下の例は、同じ日付と時刻を、ODBC 形式で UTC (Coordinated Universal Time) の日付と時間として表示しています。精度は、小数点以下 6 桁まで表します。
WRITE $ZDATETIME($ZTIMESTAMP,3,1,6)
以下の状況では、<FUNCTION> エラーが発生します。
-
無効な
dformat コード (-1 未満または 12 より大きい整数値、0、整数以外の値) を指定したとき
-
tformat に無効な値 (-1 未満または 4 より大きい整数値、0、整数以外の値) を指定したとき
-
以下の状況では、<ILLEGAL VALUE> エラーが発生します。
-
日付や時刻に無効な値を指定して、
erropt 値を提供しないとき
-
-
-
-
以下の状況では、<VALUE OUT OF RANGE> エラーが発生します。
erropt が指定されている場合、このパラメータは、無効な値あるいは
hdatetime の範囲外の値が指定された場合に生成されるエラー・メッセージのみを制御します。他のパラメータに無効、あるいは範囲外の値を指定することにより発生したエラーは、
erropt が指定されたか否かに関係なく、常にエラー・メッセージを生成します。
$ZDATETIME は、
dformat が 1 または 4 のとき、年月日の区切り文字として現在のロケールの DateSeparator プロパティの値を使用します。ODBC 日付形式 (
dformat は 3) の区切り文字は、常に ODBC 基準で要求されている - です。DateSeparator の既定値は / であり、この区切り文字はすべてのドキュメントで使用されています。
$ZDATETIME は、整数と小数の区切り文字として、現在のロケールの DecimalSeparator プロパティ値を使用します。ODBC 日付形式 (
dformat が 3) の区切り文字は常に、ODBC 標準に合わせた . になります。DecimalSeparator の既定値は . で、この区切り文字はこのドキュメント全体を通して使用されています。
既定では、Caché は、現在のロケールの TimeSeparator プロパティ値を使用して、時間の区切り文字を指定します。 既定で、区切り文字列は : で、すべての例でこの区切り文字を使用しています。
既定では、Caché は現在のロケールのプロパティを使用して、時間の接尾語名を指定します。
$ZDATETIME で、これらのプロパティ (および、対応する既定値) は以下の通りです。
このドキュメントでは、これらのプロパティに常に既定値を使用します。
WRITE $ZDATETIME($HOROLOG)