How the timezone works

Timezone provides an international format of date object in . When enableTimezone is true, timezone information would be taken into consideration when display or convert a date. For example,

This normalization can be done either in the client ( the client widget does the conversion before submitting the data) or in the server ( the client submits the date/time and the timezone so the server, WAS, can make the conversion).

Client side
HTML Mode: An util js will be referred to calculate the client side timezone. After page loaded, this util will be automatically generate the timezone information and set this information to request data, including Form and Link.
Ajax Mode: The Util js will be used and controlled by Navigation Engine. The engine will add the timezone infomation into each request data automatically.
Server side
When BTT Channel received a client request, RequestHandler will parse the request date. If the "dse_timezone" parameter is defined in the request data, RequestHnadler will parse and set this parameter to current session context as a system variable.
At the same time, RequestHandler will also set the "dse_timezone" variable into timezone holder static variable in BTTCore.
Different Timezone and Priority
If the "dse_timezone"(Client timezone, submitted by client) is found in session context, this timezone will be the first priority used when data conversion or mapping.
If "dse_timezone" is not found in context, the timezone "defaultTimezone" which is defined in BTT.xml by user, will be used.
If timezone is not submitted from client and default timezone is not defined, current system timezone will be used. This design mainly consider to be compatible with previous version BTT.