Setting a time zone for all date fields using dateTimezoneOffset

Options

by Flexmonster Pivot Table

HTML

<script src="https://cdn.flexmonster.com/flexmonster.js"></script>

<button onclick="setTimezone(5)">Set timezone GMT+5</button>
<button onclick="setTimezone(-5)">Set timezone GMT-5</button>

<div id="pivot-container"></div>

CSS

@import url(https://cdn.flexmonster.com/assets/jsfiddle-styles.css);

JavaScript

let pivot = new Flexmonster({
  container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  toolbar: true,
  report: {
    dataSource: {
      data: getData(),
      mapping: {
        "Date": {
          type: "date"
        },
        "DateString": {
          type: "date string",
          caption: "Date (date string)"
        },
        "DateTime": {
          type: "datetime",
          caption: "Date (datetime)"
        }
      }
    },
    options: {
    	dateTimezoneOffset: 0,
      grid: {
        type: "flat",
        showGrandTotals: "off"
      }
    },
    slice: {
      rows: [
            {
                uniqueName: "Date.Year"
            },
            {
                uniqueName: "Date.Month"
            },
            {
                uniqueName: "Date.Day"
            },
            {
                uniqueName: "DateString"
            }
        ],
        columns: [
            {
                uniqueName: "[Measures]"
            }
        ],
        measures: [
            {
                uniqueName: "DateTime",
                aggregation: "max"
            }
        ]
    }
  }
});

function setTimezone(timezone) {
  var report = pivot.getReport();
  report.options.dateTimezoneOffset = timezone;
  pivot.setReport(report);
}

function getData() {
  return [
    {
      "Date": "2021-03-01T02:52:00",
      "DateString": "2021-03-01T02:52:00",
      "DateTime": "2021-03-01T02:52:00"
    },
    {
      "Date": "2020-01-11T01:55:00",
      "DateString": "2020-01-11T01:55:00",
      "DateTime": "2020-01-11T01:55:00"
    },
    {
      "Date": "2021-03-08T00:45:00",
      "DateString": "2021-03-08T00:45:00",
      "DateTime": "2021-03-08T00:45:00"
    }
  ]
}