カレンダおよびタイムゾーンのサポート
ここでは、カレンダーおよびタイム・ゾーンのサポートについて説明します。
カレンダの仕様
「カレンダ」という用語は、発行レポートに表示されるカレンダ日付を指します。
次のタイプがサポートされています。
-
GREGORIAN
-
ARABIC_HIJRAH
-
ENGLISH_HIJRAH
-
JAPANESE_IMPERIAL
-
THAI_BUDDHA
-
ROC_OFFICIAL (台湾)
次のいずれかの方法で、カレンダ・タイプを設定します。
-
format-date-and-calendar関数をコールして、カレンダ・タイプを宣言します。
たとえば:
<?format-date-and-calendar:hiredate;'LONG_TIME_TZ';'ROC_OFFICIAL';?>
次の図に、この定義を使用して生成された出力を示します(ロケールはzh-TW、タイムゾーンはAsia/Taipeiに設定)。
-
プロファイル・オプション「XDO: カレンダ・タイプ」(XDO_CALENDAR_TYPE)を使用して、カレンダ・タイプを設定します。
ノート:
テンプレートで指定したカレンダ・タイプは、このプロファイル・オプションで設定したカレンダ・タイプより優先されます。
タイムゾーンの指定
Javaタイムゾーン文字列を使用して、タイムゾーンを指定できます。
タイムゾーン情報は、次の2つの方法で指定します。
-
Oracle書式を指定したformat-dateまたはformat-date-and-calendar関数をコールします。
-
Oracle Applicationsで、ユーザー・プロファイル・オプション「クライアント・タイム・ゾーン」(CLIENT_TIMEZONE_ID)を設定します。
タイムゾーンが指定されていない場合は、レポートのタイムゾーンが使用されます。
テンプレートでタイムゾーンを指定する場合は、America/Los Angelesのように、Javaタイムゾーン文字列として指定する必要があります。次に、テンプレートのヘルプ・テキスト・フィールドに入力する構文の例を示します。
<?format-date:hiredate;'LONG_TIME_TZ';'Asia/Shanghai'?>
タイムゾーンを変換しない指定
タイムゾーンがユーザーのローカル・タイムゾーンに変換されないようにすることができます。
タイムゾーンの変換を止めるには、date-time XSD文字列のタイムゾーン・コンポーネントを切り捨てます。タイムゾーンの変換を必要としないレポートでは、<?format-date-nt: ...?>
はタイムゾーン変換を行わないために使用できる便利な関数です。
このRTFテンプレートを使用すると、特定の日時のタイムゾーンの変換が実行されません。
構文: <?format-date-nt:<date_string>;'ABSTRACT_FORMAT_MASK'?>
例:
<?format-date-nt:Hire_Date;'SHORT'?>
<?format-date-nt:xdoxslt:sysdate_as_xsdformat();'MEDIUM'?>
<?format-date-nt:Hire_Date;'MEDIUM_TIME'?>