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

标签 javascript charts timestamp-with-timezone lightweight-charts

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

最佳答案

我已经发布了类似的问题 here ,但到目前为止没有发布答案。
我看到 2 种方法可以帮助您解决这个问题:

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

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

    关于javascript - 如何为轻量级图表设置自定义时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65785045/

    相关文章:

    postgresql - 如何在postgresql查询中获取当前月份的第一天和最后一天

    javascript - 从 html 按钮单击停止 Node.js 无休止循环

    javascript - 点击事件中的全日历错误时间

    带时区的 PostgreSQL 时间戳不使用索引

    javascript - 谷歌折线图 : Change color when line down

    javascript - Google 条形图无法更改单个条形图的颜色

    r - POSIXct 和 xts 中的时区,从 R 中的 GMT 转换

    javascript - 通过标签和类获取元素

    javascript - JS中根据href属性对dom元素进行排序

    javascript - 在 Google Charts 直方图中指定列高