This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.
LinkedIn
Copied!

Formatting time in Business Intelligence Exchange (BIX)

Time data in BIX uses the Java DateTime formatting convention. This convention is primarily used with the optional command-line parameters -d, -D, -u, and -U.

For example, to display the precise time of 5:58:55.438 A.M. and date of August 13, 2013, you use the Java pattern “yyyyMMdd T HHmmss.SSS” to generate “20130813 T 055855.438” at run time.

For more information about DateTime formatting, see the articles listed under the Related content section of this article, as well as support documentation in the Oracle knowledge base:

Default time zone formatting settings

Pega 7 Platform applications use Greenwich Mean Time (GMT)/Coordinated Universal Time (UTC) when determining date and time information. The default location setting on the Pega 7 Platform application server is GMT 0:00/UTC±00:00.

The Pega 7 Platform Java virtual machine (JVM) uses time zone data provided by the tz database (also known as the Olson database). Details about the time zones listed in this database are available at https://www.iana.org/time-zones.

UTC is the recommended method for specifying time zones. The use of three-letter time zone IDs is not advised because of potential overlap with multiple time zones. See Issue: Avoid three-character time-zone codes because they do not support Daylight Saving Time consistently.

Time zone settings across different locations

For a BLOB used in a Pega 7 Platform application, DateTime columns are saved in GMT/UTC.

If you create a report with a pxCreateDateTime column, the date value displayed depends on the time zone in which the application server is running. Accordingly, the DateTime value saved in a BLOB and the DateTime value returned when you run a query do not need to be the same.

For example, in a BLOB in your Pega 7 Platform application, if you use the example time of 5:58:55.438 A.M. and date of August 13, 2013, then pxUpdateDateTime is set by default to:

pxUpdateDateTime = 20130813 T 05 58 55.438 UTC

To set the time for a server in Cambridge, Massachusetts, use:

pxUpdateDateTime = 20130813 T 01 58 55.438(UTC-4)

To set the time for a server in Hyderabad, India, use:

pxUpdateDateTime = 20130813 T 11 28 55.438(UTC+5.5)

Example scenario

Issue

I am performing a BIX extract that is triggered from the console. My server locale is in the Sydney, Australia, time zone, which is UTC+10. Accordingly, I want to pass an Australian time zone date string as the filter. However, the filter is taking in UTC-4.

Question

How can I set the locale of the DateTime string filter used by BIX when it is triggered from the command line?

Answer

Set the following JVM argument in your code:

<jvmarg value="-Duser.timezone=Australia/Sydney"/>

This solution applies only to BIX 7.x versions.

Troubleshooting milliseconds

If a property is defined by using a Pega 7 Platform DateTime value, but the corresponding Oracle Date data type does not have milliseconds, then milliseconds are not included in the Pega 7 Platform application's value.

The value that is received for DateTime values and other numeric values when using a database column might be subject to different rounding than when it is obtained from a BLOB, and can differ from from platform to platform.

Related Content

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.