カレンダおよびタイムゾーンのサポート

ここでは、カレンダーおよびタイム・ゾーンのサポートについて説明します。

カレンダの仕様

「カレンダ」という用語は、発行レポートに表示されるカレンダ日付を指します。

次のタイプがサポートされています。

  • 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'?>