内部システム時刻を、指定された形式から出力可能形式に変換します。
Synopsis
$ZTIME(Htime,format,precision,erropt)
$ZT(Htime,format,precision,erropt)
パラメータ
Htime 数値、変数名、式として指定できる内部システム時刻
format オプション — 時刻の値を表記する形式を指定する数値
precision オプション — 時刻を表すときに、その精度を示す小数点以下の桁数を指定する数値
erropt オプションHtime パラメータが無効であると判断された場合に返される式
概要
$ZTIME 関数は、特殊変数 $HOROLOG$ZTIMESTAMP の時刻形式で指定された内部システム時刻 Htime を、出力可能形式に変換します。オプション・パラメータを使用しない場合、時刻は “hh:mm:ss” 形式で返されます。“hh” は 24 時間制で表す時刻、“mm” は分、“ss” は秒です。それ以外の場合、時刻は formatprecision のパラメータ値で指定された形式で返されます。
パラメータ
format
サポートされている値は、以下のとおりです。
Code 概要
-1 現在のロケールの TimeFormat プロパティから、有効な形式値を取得します。既定は 1 です。format を指定しない場合は、これが既定の振る舞いになります。
1 時刻を "hh:mm:ss" (24 時間) で表します。
2 時刻を “hh:mm” (24 時間) で表します。
3 時刻を “hh:mm:ss[AM/PM]” (12 時間) で表します。
4 時刻を “hh:mm[AM/PM]” (12 時間) で表します。
precision
この関数は、precision パラメータで指定された小数点以下の桁数の秒を表示します。例えば precision の値に 3 を入力すると、$ZTIME は秒数を小数点以下 3 桁まで表示します。また、precision が 9 の場合、$ZTIME は秒数を小数点以下 9 桁まで表示します。サポートされている値は、以下のとおりです。
概要
-1 現在のロケールの TimePrecision プロパティから precision 値を取得します。既定は 0 です。precision を指定しない場合は、これが既定の振る舞いになります。
n ゼロ (0) 以上の n の値は、時刻を少数点以下の n 桁まで表すことを示します。
erropt
このパラメータは、無効な Htime 値に対応するエラー・メッセージを抑制します。<ILLEGAL VALUE> エラー・メッセージを生成する代わりに、関数は erropt で示された値を返します。
特殊変数 $HOROLOG を使用して現在の現地時刻を返すには、$PIECE 関数を使用して、$HOROLOG の秒の部分を指定する必要があります。以下は、24 時間形式 “13:55:11” で時刻を返します。
   WRITE $ZTIME($PIECE($HOROLOG,",",2),1)
次の例では、現在時刻に対してHtime$PIECE($HOROLOG,",",2) に設定されています。これらの例は、さまざまな $ZTIME を使用し、異なる時刻形式を返す方法を示しています。
通常、以下の例は、"13:28:55" という形式の時刻を返します。しかし、この形式はロケールに依存します。
   SET Htime=$PIECE($HOROLOG,",",2)
   WRITE $ZTIME(Htime)
以下の例は、"13:28:55" の形式で時刻を返します。
   SET Htime=$PIECE($HOROLOG,",",2)
   WRITE $ZTIME(Htime,1)
以下の例は、"13:28:55.999" の形式で時刻を返します。
   SET Htime=$PIECE($HOROLOG,",",2)
   WRITE $ZTIME(Htime,1,3)
以下の例は、"13:28:55.999999999" の形式で時刻を返します。
   SET Htime=$PIECE($HOROLOG,",",2)
   WRITE $ZTIME(Htime,1,9)
以下の例は、"13:28" の形式で時刻を返します。
   SET Htime=$PIECE($HOROLOG,",",2)
   WRITE $ZTIME(Htime,2)
以下の例は、"01:28:24PM" の形式で時刻を返します。
   SET Htime=$PIECE($HOROLOG,",",2)
   WRITE $ZTIME(Htime,3)
以下の例は、"01:28PM" の形式で時刻を返します。
   SET Htime=$PIECE($HOROLOG,",",2)
   WRITE $ZTIME(Htime,4)
以下の例は、“13:45:56.021” の形式で時刻を返します。小数点以下 3 桁の精度で現在の UTC 時刻を返します。
   SET t=$ZTIME($PIECE($ZTIMESTAMP,",",2),1,3)
   WRITE "Current UTC time is ",t
メモ
無効なパラメータ値
小数区切り文字
$ZTIME は、整数と小数の区切り文字として、現在のロケールの DecimalSeparator プロパティ値を使用します。DecimalSeparator の既定値は “.” であり、すべてのドキュメントの例でこの区切り文字を使用しています。
時間区切り文字
既定では、Caché は、現在のロケールの TimeSeparator プロパティ値を使用して、時間の区切り文字を指定します。既定の区切り文字は “:” です。すべてのドキュメントの例でこの区切り文字を使用しています。
時間接尾語
既定では、Caché は現在のロケールのプロパティを使用して、時間の接尾語名を指定します。$ZTIME で、これらのプロパティ (および、対応する既定値) は以下のとおりです。
このドキュメントでは、これらのプロパティに常に既定値を使用します。
関連項目