0

我在我的项目中使用jalali-moment库来处理波斯日期。目前,我不知道如何使用带有 highcharts 的库将所有日期转换为 Jalali 日期。我找到了一个“ time.Date ”选项,它采用自定义日期对象来执行所有与日期相关的操作,例如 highstock 图表中的缩放按钮和 highstock 和折线图中的 xAxis 标签。但我真的不明白如何创建自定义对象并将其传递给它?我在 StackOverflow 中看到了所有相关的问答,但没有人使用更改日期对象的选项,也没有人提到如何使用 jalali-moment 库来做到这一点。highcharts 文档中甚至没有官方示例。请注意,我必须使用 jalali-moment 库,而不能使用任何其他库。

您能否准确解释如何实现这一目标?(最好提一下,我用的是reactjs框架中的highcharts库。)

4

1 回答 1

3

您可以覆盖所有Highcharts.dateFormats方法并在其中使用jalali-moment插件:

moment.locale('fa');

Highcharts.dateFormats = {
  'a': function(ts) {
    return moment(ts).format('dddd')
  },
  'A': function(ts) {
    return moment(ts).format('dddd')
  },
  'd': function(ts) {
    return moment(ts).format('DD')
  },
  'e': function(ts) {
    return moment(ts).format('D')
  },
  'b': function(ts) {
    return moment(ts).format('MMMM')
  },
  'B': function(ts) {
    return moment(ts).format('MMMM')
  },
  'm': function(ts) {
    return moment(ts).format('MM')
  },
  'y': function(ts) {
    return moment(ts).format('YY')
  },
  'Y': function(ts) {
    return moment(ts).format('YYYY')
  },
  'W': function(ts) {
    return moment(ts).format('ww')
  }
};

现场演示:http: //jsfiddle.net/BlackLabel/cbqh3d0m/

API 参考: https ://api.highcharts.com/class-reference/Highcharts#.dateFormats

此外,您可以检查Highcharts Localization插件作为替代解决方案:https ://www.highcharts.com/products/plugin-registry/single/21/Highcharts%20Localization

于 2019-05-20T14:29:17.237 回答