diff --git a/pages/exchange/open-position.vue b/pages/exchange/open-position.vue
index 0a3f9e4..0227780 100644
--- a/pages/exchange/open-position.vue
+++ b/pages/exchange/open-position.vue
@@ -741,7 +741,7 @@
-
{{ $t("contract.i4") }}:
@@ -757,7 +757,7 @@
}}
USDT
-->
-
{{ $t("contract.i7") }}:
diff --git a/static/chart_main/sevencoin.js b/static/chart_main/sevencoin.js
index 7060bcf..cbade6b 100644
--- a/static/chart_main/sevencoin.js
+++ b/static/chart_main/sevencoin.js
@@ -253,12 +253,12 @@ $(function () {
tvQuoter.find('[data-name="zhangdiee"]').css('color',zhangdiee>0?'#53b987':'#eb4d5c');
}
timestampToTime(timestamp) {
- const date = new Date(timestamp);
+ const date = this.adjustToEasternTime(timestamp);
const yyyy = `${date.getFullYear()}`;
const yy = `${date.getFullYear()}`.substr(2);
const MM = `0${date.getMonth() + 1}`.slice(-2);
const dd = `0${date.getDate()}`.slice(-2);
- const HH = `0${date.getHours()-13}`.slice(-2);
+ const HH = `0${date.getHours()}`.slice(-2);
const mm = `0${date.getMinutes()}`.slice(-2);
@@ -271,6 +271,38 @@ $(function () {
}
return dateStr
}
+
+ adjustToEasternTime(date) {
+ let timestamp;
+
+ // 判断日期是否在夏令时
+ const dates = new Date(date);
+ const isInEDT = this.dateIsInEDT(dates);
+ // 根据是否在夏令时来调整时间
+ if (isInEDT) {
+ // 在夏令时期间
+ timestamp = date - (-28800000)+(new Date(new Date().getTime()).getTimezoneOffset()* 60 * 1000) - 43200000; // 使用43200000毫秒 = 12小时
+ } else {
+ // 在冬令时期间
+ timestamp = date - (-28800000)+(new Date(new Date().getTime()).getTimezoneOffset()* 60 * 1000) - 46800000; // 使用46800000毫秒 = 13小时
+ }
+ // 创建新的日期对象,并使用调整后的时间戳
+ const adjustedDate = new Date(timestamp);
+
+ // 返回调整后的日期对象
+ return adjustedDate;
+ }
+ // 判断日期是否在夏令时(简化的逻辑,实际应用中需要考虑更多的边界情况)
+ dateIsInEDT(date) {
+ const year = date.getUTCFullYear();
+ const start = new Date(Date.UTC(year, 2, 8, 18)); // March, 2nd Sunday
+ const end = new Date(Date.UTC(year, 10, 3, 18)); // November, 1st Sunday
+ start.setUTCDate(14 - start.getUTCDay());
+ end.setUTCDate(7 - end.getUTCDay());
+
+ return date >= start && date < end;
+ }
+
getResolutionTime() {
const resolution = this.TView.chart().resolution();
switch (resolution) {
diff --git a/static/favicon.ico b/static/favicon.ico
index c06d489..2a7951a 100644
Binary files a/static/favicon.ico and b/static/favicon.ico differ
diff --git a/utils/class/date.js b/utils/class/date.js
index 7095eff..7ba71e8 100644
--- a/utils/class/date.js
+++ b/utils/class/date.js
@@ -7,8 +7,8 @@
function getTimeZoneOffset(time) {
const date = new Date(time);
// 获取时区偏移值,返回分钟数
- // let offset = date.getTimezoneOffset();
- let offset = 0;
+ let offset = date.getTimezoneOffset();
+ // let offset = 0;
return time + offset * 60 * 1000;
}
@@ -28,13 +28,17 @@ function time2Date(time, isOffset = false) {
if (time.toString().length <= 10) {
time = Number(time) * 1000;
}
+ let timeN;
// 是否对时差进行转化
if (isOffset) {
- // time = getTimeZoneOffset(time);
- }
+ timeN = getTimeZoneOffset(time);
+ }else{
+ // 这也是对时差进行转换,不需要在每个处理时间格式的组件中修改isOffset为true
+ timeN = time-(-28800000)+(new Date(new Date().getTime()).getTimezoneOffset()* 60 * 1000);
+ }
// 转化成日期时间对象
- date = new Date(time);
+ date = new Date(timeN);
}
return date;
@@ -51,7 +55,8 @@ function parseTime(time, isOffset = false, cformat = null) {
// 设置默认格式
let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}';
- time = time + 8 * 3600;
+ // let format = cformat || '{m}/{d}/{y} {h}:{i}:{s}';
+
const date = time2Date(time, isOffset);
// 将日期时间值存入对象中
@@ -64,21 +69,18 @@ function parseTime(time, isOffset = false, cformat = null) {
s: date.getSeconds(),
a: date.getDay()
};
- console.log(date);
+
// 星期值需要转化为中文
dataObj.a = '星期' + ['日', '一', '二', '三', '四', '五', '六'][dataObj.a];
// 匹配{}中的y|m|d...部分,分别替换不同的值
- // const result = format.replace(/{(y|m|d|h|i|s|a)+}/g, (segment, key) => {
- // // 由索引提取值
- // let value = dataObj[key];
- // // 给值添加前导0
- // if (segment.length > 0 && value < 10) value = '0' + value;
- // return value || 0;
- // });
- // time = time + 8 * 3600 * 1000; // 增加8小时
- const result = date.toJSON().substr(0, 19).replace('T', ' ');
- // console.log(result);
+ const result = format.replace(/{(y|m|d|h|i|s|a)+}/g, (segment, key) => {
+ // 由索引提取值
+ let value = dataObj[key];
+ // 给值添加前导0
+ if (segment.length > 0 && value < 10) value = '0' + value;
+ return value || 0;
+ });
return result;
}