如何为轻量级图表设置自定义时区?

我有一个像这样的轻量级图表设置。我想添加某种配置,以便图表可以向我显示本地时间,而不是通过 Unix 时间戳传递的通用时间,例如,它与我的时间相差几个小时。另一种可能性是修改 Unix 时间戳。

var chart = LightweightCharts.createChart(document.getElementById("charts"), {
  width: 1060,
  height: 537,
  layout: {
    backgroundColor: "#161616",
    textColor: "rgba(255, 255, 255, 0.9)",
    fontSize: 15,
    fontFamily: "Ubuntu",
  },
  grid: {
    vertLines: {
      color: "#424242",
      width: 0.3,
    },
    horzLines: {
      color: "#424242",
      width: 0.3,
    },
  },
  crosshair: {
    mode: LightweightCharts.CrosshairMode.Normal,
  },
  priceScale: {
    borderColor: "rgba(197, 203, 206, 0.8)",
    size: 5,
  },
  timeScale: {
    borderColor: "rgba(197, 203, 206, 0.8)",
    timeVisible: true,
    secondsVisible: false,
    rightBarStaysOnScroll: true,
  },
});

回答

我已经在这里发布了类似的问题,但到目前为止还没有发布答案。

我看到 2 种方法可以帮助您解决此问题:

  1. 您可以通过向时间添加 TZ 偏移量来修改条形图的源时间(我认为这是首选方式 - 见下文)
  2. 您可以覆盖tickMarkFormatter,dateFormattimeFormatter使用所需的 TZ 偏移正确格式化日期。

我认为第一种方式(添加偏移量)是首选,因为它也会影响刻度线的生成及其权重,因此您的时间刻度看起来会好得多而没有问题(例如,您可以看到23:00时间而不是30天,因为您添加了一个偏移 60 分钟,它会稍微移动时间刻度)。


以上是如何为轻量级图表设置自定义时区?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>