Browse Source

修改k线为自动切换夏令时和冬令时

master
liaoxinyu 1 year ago
parent
commit
953b13d02d
  1. 4
      pages/exchange/open-position.vue
  2. 32
      static/chart_main/sevencoin.js

4
pages/exchange/open-position.vue

@ -741,7 +741,7 @@
</view> </view>
</view> </view>
<view class="p-x-md p-t-0"> <view class="p-x-md p-t-0">
<v-input class="p-sm rounded border m-t-sm" :placeholder="$t('contract.i3')" type="number" <v-input class="p-sm rounded border m-t-sm" :placeholder="$t('contract.i3')"
v-model="strategyForm.tp_trigger_price"> v-model="strategyForm.tp_trigger_price">
<template #left> <template #left>
<span class="color-default">{{ $t("contract.i4") }}</span> <span class="color-default">{{ $t("contract.i4") }}</span>
@ -757,7 +757,7 @@
}} }}
USDT USDT
</view> --> </view> -->
<v-input class="p-sm rounded border m-t-sm" :placeholder="$t('contract.i3')" type="number" <v-input class="p-sm rounded border m-t-sm" :placeholder="$t('contract.i3')"
v-model="strategyForm.sl_trigger_price"> v-model="strategyForm.sl_trigger_price">
<template #left> <template #left>
<span class="color-default">{{ $t("contract.i7") }}</span> <span class="color-default">{{ $t("contract.i7") }}</span>

32
static/chart_main/sevencoin.js

@ -273,13 +273,18 @@ $(function () {
} }
adjustToEasternTime(date) { adjustToEasternTime(date) {
let timestamp; let timestamp;
// let easternOffset = 46800000; // 标准时间(EST) // 判断日期是否在夏令时
// if (this.dateIsInEDT(date)) { const dates = new Date(date);
// easternOffset = 43200000; // 夏令时(EDT) const isInEDT = this.dateIsInEDT(dates);
// } // 根据是否在夏令时来调整时间
// 调整时间为美国东部时间 if (isInEDT) {
timestamp = date - (-28800000)+(new Date(new Date().getTime()).getTimezoneOffset()* 60 * 1000) - 46800000; // 在夏令时期间
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); const adjustedDate = new Date(timestamp);
@ -288,15 +293,14 @@ $(function () {
} }
// 判断日期是否在夏令时(简化的逻辑,实际应用中需要考虑更多的边界情况) // 判断日期是否在夏令时(简化的逻辑,实际应用中需要考虑更多的边界情况)
dateIsInEDT(date) { dateIsInEDT(date) {
const dates = new Date(); const year = date.getUTCFullYear();
const year = dates.getUTCFullYear(); const start = new Date(Date.UTC(year, 2, 8, 18)); // March, 2nd Sunday
const start = new Date(Date.UTC(year, 2, 13, 7)); // March, 2nd Sunday const end = new Date(Date.UTC(year, 10, 3, 18)); // November, 1st Sunday
const end = new Date(Date.UTC(year, 10, 6, 6)); // November, 1st Sunday console.log(start);
start.setUTCDate(14 - start.getUTCDay()); start.setUTCDate(14 - start.getUTCDay());
end.setUTCDate(7 - end.getUTCDay()); end.setUTCDate(7 - end.getUTCDay());
console.log(dates);
return dates >= start && dates < end; return date >= start && date < end;
} }
getResolutionTime() { getResolutionTime() {
const resolution = this.TView.chart().resolution(); const resolution = this.TView.chart().resolution();

Loading…
Cancel
Save