formatTimestamp()
strLib.formatTimestamp() システム関数は、入力として TIMESTAMP 値を受け入れ、STRING 値を戻します。
EGL は、変換のためのフォーマットを以下の順序で決定します。
各フォーマットが NULL、空、または無効の場合、EGL は次に進みます。
- パラメーターとして指定されたフォーマット・ストリング
- strLib.defaultTimestampFormat
- TIMESTAMP 変数の定義で使用したマスク
TIMESTAMP を、そこで定義しているマスクに基づいて変換する際、EGL は、以下の文字を挿入します。
- 日付コンポーネントの間の区切り文字としてダッシュ
- 日時の間のスペース
- 時刻コンポーネントの間のコロン
- 秒と秒の小数部の間の小数点 (ロケール依存の文字ではなく、ピリオド)
詳しくは、このトピックで説明する 2 番目の例を参照してください。
構文
strLib.formatTimestamp(
aTimeStamp TIMESTAMP(yyyyMMddHHmmssSSSSSS)? in
[, timestampFormat STRING? in
])
returns (result STRING?)
- aTimeStamp
- フォーマットする TIMESTAMP 値。 dateTimeLib.currentTimestamp() システム関数の戻り値など、TIMESTAMP 値と代入互換性のある任意の式を入力することができます。
- timestampFormat
- タイム・スタンプ・フォーマットを識別します。説明は、日付/時刻マスクとフォーマット指定子にあります。 リテラル、ストリング変数、またはEGL ライブラリー strLibで説明されている任意のタイム・スタンプ・フォーマット定数を使用することができます。
- result
- STRING 変数。 aTimeStamp が無効である場合、関数は NULL 値を戻します。
例
次に示すのは、複雑なフォーマット・パターンの例です。
myTs TIMESTAMP = "20060606123200";
myFormat STRING = "MMMMMMMMM dd, yyyy ' at ' hh:mm aa";
result STRING;
result = strLib.formatTimestamp(myTs,myFormat);
// 結果は「2006 年 6 月 6 日午後 12 時 32 分 (June 6, 2006 at 12:32 pm)」です
次に示すのは、EGL が変数からのマスクを使用してストリングを作成する例です。
ts1 timestamp( "yyyyMMddHHmmssffffff" );
ts2 timestamp( "yyyyMMdd" );
ts3 timestamp( "MMddHHmmssff" );
tsString STRING;
defaultTimestampFormat = "";
// パターン yyyy-MM-dd HH:mm:ss.SSSSSS を使用します
tsString = formatTimestamp( ts1 );
// パターン yyyy-MM-dd を使用します
tsString = formatTimestamp( ts2 );
// パターン MM-dd HH:mm:ss.SS を使用します
tsString = formatTimestamp( ts3 );