Supporting Calendars and Time Zones

This section describes support for calendars and time zones.

Calendar Specification

The term calendar refers to the calendar date displayed in the published report.

The following types are supported:

  • GREGORIAN

  • ARABIC_HIJRAH

  • ENGLISH_HIJRAH

  • JAPANESE_IMPERIAL

  • THAI_BUDDHA

  • ROC_OFFICIAL (Taiwan)

Use one of the following methods to set the calendar type:

  • Call the format-date-and-calendar function and declare the calendar type.

    For example:<?format-date-and-calendar:hiredate;'LONG_TIME_TZ';'ROC_OFFICIAL';?>

    The following figure shows the output generated using this definition with locale set to zh-TW and time zone set to Asia/Taipei:

  • Set the calendar type using the profile option XDO: Calendar Type (XDO_CALENDAR_TYPE).

Note:

The calendar type that is specified in the template overrides the calendar type set in the profile option.

Specify Time Zone

You can specify a time zone using a Java time zone string.

There are two ways to specify time zone information:

  • Call the format-date or format-date-and-calendar function with the Oracle format.

  • Set the user profile option Client Timezone (CLIENT_TIMEZONE_ID) in Oracle Applications.

If no time zone is specified, then the report time zone is used.

In the template, the time zone must be specified as a Java time zone string, for example, America/Los Angeles. The following example shows the syntax to enter in the help text field of the template:

<?format-date:hiredate;'LONG_TIME_TZ';'Asia/Shanghai'?>

Specify No Time Zone Conversion

You can prevent a time zone from being converted to the user’s local time zone.

To stop timezone conversion truncate the timezone component in the date-time XSD string. In reports that do not need timezone conversion, <?format-date-nt: ...?> is a convenient function to achieve no timezone conversion.

Use this RTF template command to prevent any time zone conversion on the date-time provided.

Syntax: <?format-date-nt:<date_string>;'ABSTRACT_FORMAT_MASK'?>

Examples:

<?format-date-nt:Hire_Date;'SHORT'?>
<?format-date-nt:xdoxslt:sysdate_as_xsdformat();'MEDIUM'?>
<?format-date-nt:Hire_Date;'MEDIUM_TIME'?>