Передача пользовательского объекта даты из библиотеки jalali-moment в time.Date - PullRequest
0 голосов
/ 20 мая 2019

Я использую библиотеку jalali-moment в своем проекте для работы с персидскими датами. В настоящее время я зациклен на том, как использовать библиотеку с высокими диаграммами для преобразования всех дат в даты Джалали. Я нашел опцию " time.Date ", которая принимает пользовательский объект Date для выполнения всех операций, связанных с датами, таких как кнопки масштабирования на диаграмме верхнего уровня и метки xAxis на верхнем графике и линейных диаграммах. Но неужели я не понимаю, как создать и передать ему специальный объект? Я вижу все связанные вопросы и ответы в StackOverflow, но ни один из них не использовал возможность изменить объект даты, также никто не упомянул, как это сделать с библиотекой jalali-moment. Даже в официальной документации нет никаких официальных примеров. обратите внимание, что я должен использовать библиотеку jalali-moment, и я не могу использовать любую другую.

Не могли бы вы объяснить, как именно этого добиться? (Лучше упомянуть, что я использую библиотеку highcharts в инфраструктуре реактивах.)

1 Ответ

0 голосов
/ 20 мая 2019

Вы можете перезаписать все методы 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

...