|
|
|
@ -255,7 +255,8 @@ $(function () { |
|
|
|
} |
|
|
|
timestampToTime(timestamp) { |
|
|
|
const dates = new Date(timestamp); |
|
|
|
const date = this.adjustToEasternTime(dates); |
|
|
|
const resolutionTime = this.getResolutionTime() |
|
|
|
const date = resolutionTime === 1 ? dates : this.adjustToEasternTime(dates); |
|
|
|
|
|
|
|
const yyyy = `${date.getFullYear()}`; |
|
|
|
const yy = `${date.getFullYear()}`.substr(2); |
|
|
|
@ -280,17 +281,31 @@ $(function () { |
|
|
|
const timestamp = date.getTime(); |
|
|
|
|
|
|
|
// 获取美国东部时区偏移值(以分钟为单位)
|
|
|
|
const easternOffset = -240; // 美国东部时区偏移值为 -240 分钟
|
|
|
|
|
|
|
|
// const easternOffset = -240; // 美国东部时区偏移值为 -240 分钟
|
|
|
|
// 获取东部时间的偏移值(分钟)
|
|
|
|
let easternOffset = 1260; // 标准时间(EST)
|
|
|
|
if (this.dateIsInEDT(date)) { |
|
|
|
easternOffset = 1200; // 夏令时(EDT)
|
|
|
|
} |
|
|
|
// 调整时间为美国东部时间
|
|
|
|
const adjustedTime = timestamp - (date.getTimezoneOffset() + easternOffset) * 60 * 1000; |
|
|
|
|
|
|
|
// 创建新的日期对象,并使用调整后的时间戳
|
|
|
|
const adjustedDate = new Date(adjustedTime); |
|
|
|
|
|
|
|
// 返回调整后的日期对象
|
|
|
|
return adjustedDate; |
|
|
|
} |
|
|
|
// 判断日期是否在夏令时(简化的逻辑,实际应用中需要考虑更多的边界情况)
|
|
|
|
dateIsInEDT(date) { |
|
|
|
const year = date.getUTCFullYear(); |
|
|
|
const start = new Date(Date.UTC(year, 2, 13, 7)); // March, 2nd Sunday
|
|
|
|
const end = new Date(Date.UTC(year, 10, 6, 6)); // 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(); |
|
|
|
|