From 5f5b9ca4d1d6f4561b6c34f40e368494902891ac Mon Sep 17 00:00:00 2001 From: zyh Date: Wed, 27 Mar 2024 09:44:43 +0630 Subject: [PATCH] =?UTF-8?q?NEZ-3430=20fix:=20=E6=97=B6=E5=8C=BA=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/chart/chartTimeSeries.vue | 6 +++--- .../src/components/common/js/tools.js | 12 +++++------ nezha-fronted/src/libs/bus.js | 20 ++++++++----------- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue b/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue index 1ee737437..d9bd3eec1 100644 --- a/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue +++ b/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue @@ -373,13 +373,13 @@ export default { return function (val, index) { const value = val * 1000 let offset = localStorage.getItem('nz-sys-timezone') - offset = moment.tz(offset).format('Z') - offset = Number.parseInt(offset) + offset = moment.tz(offset).utcOffset() + const localOffset = new Date().getTimezoneOffset() * 60 * 1000 * -1 // 默认 一分钟显示时区偏移的结果 // if (window.dataJson) { // offset = new Date().getTimezoneOffset() * -1 / 60 // } - const tData = new Date(value - localOffset + offset * 60 * 60 * 1000) + const tData = new Date(value - localOffset + offset * 60 * 1000) let hour = tData.getHours() hour = hour > 9 ? hour : '0' + hour // 加0补充为两位数字 let minute = tData.getMinutes() diff --git a/nezha-fronted/src/components/common/js/tools.js b/nezha-fronted/src/components/common/js/tools.js index a5e081bea..a3f884502 100644 --- a/nezha-fronted/src/components/common/js/tools.js +++ b/nezha-fronted/src/components/common/js/tools.js @@ -422,19 +422,17 @@ export const bottomBoxWindow = { export function stringTimeParseToUnix (stringTime) { let time = new Date(stringTime).getTime() let offset = localStorage.getItem('nz-sys-timezone') - offset = moment.tz(offset).format('Z') - offset = Number.parseInt(offset) + offset = moment.tz(offset).utcOffset() const localOffset = new Date().getTimezoneOffset() * 60 * 1000 * -1 // 默认 一分钟显示时区偏移的结果 - time = time + localOffset - offset * 60 * 60 * 1000 + time = time + localOffset - offset * 60 * 1000 return parseInt(time / 1000) } export function stringTimeParseToUnixMs (stringTime) { let time = new Date(stringTime).getTime() let offset = localStorage.getItem('nz-sys-timezone') - offset = moment.tz(offset).format('Z') - offset = Number.parseInt(offset) + offset = moment.tz(offset).utcOffset() const localOffset = new Date().getTimezoneOffset() * 60 * 1000 * -1 // 默认 一分钟显示时区偏移的结果 - time = time + localOffset - offset * 60 * 60 * 1000 + time = time + localOffset - offset * 60 * 1000 return parseInt(time) } export function getTime (size, unit) { // 计算时间 @@ -1148,7 +1146,7 @@ export const watermark = { const height = binding.value.height || 200 const textRotate = binding.value.textRotate || -20 addWaterMarker(el, text, font, textColor, width, height, textRotate, show, text1) - }, + } } function addWaterMarker (parentNode, text, font, textColor, width, height, textRotate, show, text1) { const can = document.createElement('canvas') diff --git a/nezha-fronted/src/libs/bus.js b/nezha-fronted/src/libs/bus.js index d901b6ac4..c8e2b7e8e 100644 --- a/nezha-fronted/src/libs/bus.js +++ b/nezha-fronted/src/libs/bus.js @@ -197,13 +197,12 @@ export default new Vue({ // 将本地时区转为系统配置的时区 computeTimezone: function (sourceTime) { let offset = localStorage.getItem('nz-sys-timezone') - offset = moment.tz(offset).format('Z') if (offset && offset !== 'undefined') { - offset = Number.parseInt(offset) + offset = moment.tz(offset).utcOffset() const date = new Date(sourceTime) const localOffset = date.getTimezoneOffset() * 60 * 1000 // 默认 一分钟显示时区偏移的结果 const utcTime = sourceTime + localOffset - return utcTime + (offset * 60 * 60 * 1000) + return utcTime + (offset * 60 * 1000) } else { return sourceTime } @@ -211,13 +210,12 @@ export default new Vue({ // 将本地时区转为系统配置的时区 computeTimezoneTime: function (sourceTime) { let offset = localStorage.getItem('nz-sys-timezone') - offset = moment.tz(offset).format('Z') if (offset && offset !== 'undefined') { - offset = Number.parseInt(offset) + offset = moment.tz(offset).utcOffset() const date = new Date(sourceTime) const localOffset = date.getTimezoneOffset() * 60 * 1000 // 默认 一分钟显示时区偏移的结果 const utcTime = date.getTime() + localOffset - return utcTime + (offset * 60 * 60 * 1000) + return utcTime + (offset * 60 * 1000) } else { return sourceTime } @@ -242,14 +240,13 @@ export default new Vue({ UTCTimeToConfigTimezone (utcTime) { let offset = localStorage.getItem('nz-sys-timezone') - offset = moment.tz(offset).format('Z') if (offset && offset !== 'undefined') { let time = utcTime if (typeof time === 'string' && /(\d+?-){2}\d+?\s(\d+?:)*\d+/.test(time)) { time = new Date(time).getTime() } - offset = Number.parseInt(offset) - time += offset * 60 * 60 * 1000 + offset = moment.tz(offset).utcOffset() + time += offset * 60 * 1000 return time } else { return utcTime @@ -257,14 +254,13 @@ export default new Vue({ }, configTimezoneToUTCTime: function (configTime) { let offset = localStorage.getItem('nz-sys-timezone') - offset = moment.tz(offset).format('Z') if (offset && offset !== 'undefined') { let time = configTime if (typeof time === 'string' && /(\d+?-){2}\d+?\s(\d+?:)*\d+/.test(time)) { time = new Date(time).getTime() } - offset = Number.parseInt(offset) - time -= offset * 60 * 60 * 1000 + offset = moment.tz(offset).utcOffset() + time -= offset * 60 * 1000 return time } else { return configTime