日付/時刻型
規則として、EGL は日付情報とプレゼンテーション書式を区別します。
| プリミティブ | サイズ | データ・フォーマット |
|---|---|---|
| DATE | 8 桁 | グレゴリオ yyyyMMdd |
| INTERVAL | 1 から 21 桁 | マスクに基づく |
| TIME | 6 桁 | HHmmss |
| TIMESTAMP | 1 から 20 桁 | マスクに基づく |
以下の考慮事項は、日付/時刻型に適用されます。
- 日付と時刻の計算について詳しくは、『日付および時刻式』を参照してください。
- EGL は常に、yyyyMMdd (4 桁の年、2 桁の月、および 2 桁の日) という 8 桁の形式を使用して、 DATE 値をグレゴリオ暦形式で格納します。 ただし、入力および出力中は、EGL は構文解析フォーマットや表示フォーマット、および International Components for Unicode ライブラリー (ICU4J) の Java™ バージョンを使用して、 必要なデータ変換を実行します。 タイ語のアプリケーションで、仏教暦の日付を入力するよう求められた場合でも、 EGL は (ICU4J を使用して) その日付を 8 桁のグレゴリオ暦形式で格納します。 詳しくは、『日付、時刻、およびタイム・スタンプのフォーマットの指定子』を参照してください。
- EGL は、常に TIME 値を HHmmss 形式で保存します。ミリ秒を含む時刻値が必要な場合は、TIMESTAMP 変数を使用する必要があります。
- EGL は、TIMESTAMP に基づく変数をデフォルトで yyyyMMddHHmmss として格納しますが、
以下の例に示すように、変数の宣言時に別のマスクを指定することができます。
myTS timestamp("yyyyMMdd");
互換性
| プラットフォーム | 問題 |
|---|---|
| iSeries COBOL | DATE 型変数が、 SQL データベースで DATE として定義されている SQL 列に対応する場合、そのデータベースでのデータの日付形式は iSeries QDATFMT システム変数で指定される形式に一致する必要があります。 |
| JavaScript 生成 | Rich UI は INTERVAL 型をサポートしません。そのほかの詳細は、 『Rich UI の日時サポート』を参照してください。 |
| z/OS® COBOL | DATE 型変数が、 SQL データベースで DATE として定義されている SQL 列に対応する場合、そのデータベースでのデータの日付形式は、各国語オプション・モジュールでのデフォルト長システムのグレゴリオ暦 日付形式で指定される形式に一致する必要があります。 |