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),
