テキストの日付/時刻型への変換

以下の場合に、テキスト値は日付/時刻値に変換されます。

テキストから日付への変換

EGL は、strlib.defaultDateFormat システム変数を使用してテキストを解釈します。 変換アルゴリズムは、区切り文字の違いや区切り文字の欠落などには対応できますが、年、月、日の順序についてはデフォルトのフォーマットを使用します。

defaultDateFormat の設定がはっきりしない場合は、 以下のいずれかのステップを実行して、プログラムが指定の値を常に同じ方法で変換するようにすることができます。
  • dateTimeLib.dateValueFromGregorian() 関数を使用して、テキスト値を DATE 値に変換します。 dateValueFromGregorian() を参照してください。
  • DATE 型の入力フィールドの日付形式を指定します。

テキストから時刻への変換

EGL は、strlib.defaultTimeFormat システム変数を使用してテキストを解釈します。 EGL は、時、分、秒の順にフィールドを検索します。区切り文字は何でも構いません。

defaultTimeFormat の設定がはっきりしない場合は、TIME 型の入力フィールドの時刻形式を指定して、プログラムが指定の値を常に同じ方法で変換するようにすることができます。

テキストからタイム・スタンプへの変換

EGL は、strlib.defaultTimestampFormat システム変数を使用してテキストを解釈します。 これに失敗した場合、EGL は、最大から最小へという順序でタイム・スタンプ・フィールドを検索します。区切り文字は何でも構いません。

defaultTimestampFormat の設定がはっきりしない場合は、 以下のいずれかのステップを実行して、プログラムが指定の値を常に同じ方法で変換するようにすることができます。
  • dateTimeLib.timestampValueWithPattern() 関数を使用して、テキスト値を TIMESTAMP 値に変換します。
  • TIMESTAMP 型の入力フィールドのタイム・スタンプ・フォーマットを指定します。

テキストから間隔への変換

EGL は、最大から最小へという順序で間隔フィールドの変換を実行します。区切り文字は何でも構いません。 テキストの先頭には、オプションで + または - が付くことがあります。

DATE 変数に以下のストリングを代入するとき、デフォルトの日付パターンは存在しないものとします。
myDate = "aaa2006aa01a02222aa";
年の 4 桁、それに続く月および日付の 2 桁の数字のパターンを使用して、EGL はストリングを以下の数字のグループに構文解析します。
2006  01  02
最後に EGL は次のような完全な DATE 値を戻します。
2006/01/02
ただし、非数字は、EGL が数字を分離する場所だけにあるわけではありません。 次の例の場合、EGL は、最初のフィールドで最大桁数に到達し、数字を DATE 値の次のフィールドに移動します。
myDate = "aa20051aa02222aa";
この場合、EGL は、年、月、 および日付と同じ桁のパターンを使用しますが、数字の 2 番目のグループは、非数字によって短く切り取られます。EGL は、ストリングを以下の数字のグループに構文解析します。
2005  1  02
最後に EGL は次のような完全な DATE 値を戻します。
2005/01/02

フィードバック