4

我有一个看起来像这样的轻量级图表设置。我想添加某种配置,以便图表可以显示本地时间,而不是 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,
  },
});
4

1 回答 1

6

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

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

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

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

编辑 (03.11.2021):请参阅此文档以获取有关如何支持时区的更多信息。

于 2021-01-19T10:43:00.813 回答