Links may not function; however, this content may be relevant to outdated versions of the product.
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.
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"/>
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.
Previous topic Extract derived class properties from your application using BIX