Provided that all dates are GMT you can add a secondary time header that will display another time zone. Just override onBeforeTimeHeaderRender and update the HTML as needed.
The limitation is that the built-in time header grouping rules are based on the GMT zone. That means the day boundaries will be based on GMT. On the hours level (and below) it will work well.
An outline:
dp.timeHeaders = [
{groupBy: "Day"}, // GMT day
{groupBy: "Hour"}, // GMT hour
{groupBy: "Hour"}, // custom timezone
];
dp.onBeforeTimeHeaderRender = function(args) {
if (args.header.level === 2) {
var local = getLocalTimeString(args.header.start);
args.header.html = local;
}
};
getLocalTimeString() is your method that will get the local time for a given GMT time. This assumes you receive a list of time point mappings from the server side. Simple hour/minutes offset will only work for a limited set of use cases (because of the daylight saving time).