update utc (#15)

diff --git a/src/constant.ts b/src/constant.ts
index b91304d..5f2a38e 100644
--- a/src/constant.ts
+++ b/src/constant.ts
@@ -19,6 +19,7 @@
   servicesTopolgy: "query queryData($serviceIds: [ID!]!, $duration: Duration!) {\n  topology: getServicesTopology(serviceIds: $serviceIds, duration: $duration) {\n    nodes {\n      id\n      name\n      type\n      isReal\n    }\n    calls {\n      id\n      source\n      detectPoints\n      target\n    }\n  }}",
   services: "query queryServices($duration: Duration!,$keyword: String!) {\n    services: getAllServices(duration: $duration, group: $keyword) {\n      id\n      name\n      group\n      layers\n    }\n  }",
   version: "query version { version }",
+  utc: "query queryOAPTimeInfo {\n    getTimeInfo {\n      timezone\n      currentTimestamp\n    }\n  }",
 };
 
 // proxy route
diff --git a/src/datasource.ts b/src/datasource.ts
index 4e138a9..74be1be 100644
--- a/src/datasource.ts
+++ b/src/datasource.ts
@@ -57,11 +57,12 @@
     const { range } = options;
     const from = range!.from.valueOf();
     const to = range!.to.valueOf();
-    let utc = -(new Date().getTimezoneOffset() / 60);
-
-    if (options.timezone !== 'browser') {
-      utc = dayjs().tz(options.timezone).utcOffset() / 60;
-    }
+    const  v =  {
+      query: Fragments.utc,
+      variables: {},
+    };
+    const resp = await this.doRequest(v);
+    const utc = resp.data.getTimeInfo.timezone / 100;
     const dates = this.timeFormat([this.getLocalTime(utc, new Date(from)), this.getLocalTime(utc, new Date(to))]);
     const duration = {
       start: this.dateFormatStep(dates.start, dates.step),