Calendar Time Zones

In TIBCO ActiveMatrix BPM, base calendars each have a timezone specified (see the time-zone parameter to saveCalendar). This enables you to use different base calendars in different locations around the world. Overlay calendars do not specify a timezone, so that an overlay can be applied on to any base calendar without any conversion.

TIBCO ActiveMatrix BPM stores all date-time entries, whether on a base or an overlay calendar, with a timezone of UTC attached. This does not mean that they are necessarily intended to represent UTC times; in effect times are treated as timezone-neutral. For example, working hours entered as 08:00 to 17:00 on a base calendar with its timezone set to PST (UTC minus 8 hours) are actually stored as 08:00 to 17:00 UTC, not as 16:00 to 01:00 UTC. In most cases this is completely transparent to the user, but you need to be aware of how TIBCO ActiveMatrix BPM handles timezones and date-time values if you are making calls directly to the API.

Changing a base calendar’s time-zone value does not cause any adjustments to existing or future calendar entries. So if you define the start of the working week as 08:00 on Monday, it is still 08:00 on Monday even if the time zone of the calendar changes.

Although the date-time values are timezone-neutral, it is best practice to specify a timezone of Z (UTC) for values such as the time-slot start and end times that define working hours entries in a base calendar. If no timezone is specified, some APIs used by TIBCO ActiveMatrix BPM will automatically convert the value to the timezone used by the server, regardless of the calendar’s time-zone specification. This may not always be the timezone required. For example, if a user in Paris accesses a server in California and enters a calendar time of 11:00, expecting it to be 11:00 CET (10:00 UTC), the time would be interpreted as 11:00 PST and stored as the UTC equivalent of that time, 19:00 UTC. Entering 11:00Z, however, will be stored as 11:00 UTC.

Times should be treated in this way whether they are for base or for overlay calendars. This enables the entries to be applied as if they were timezone-neutral, so that any overlay calendar can be applied on top of any base calendar.