Как преобразовать григорианскую или временную дату в персидскую дату на диаграммах в angular

#angular #date #charts #farsi

#angular #Дата #Диаграммы #farsi

Вопрос:

Я хочу, чтобы даты отображались на персидском языке на диаграмме Highcharts. Я знаю, что вы можете использовать jalali-moment для преобразования даты в обычную. Есть ли способ сделать это в диаграммах высокого уровня? Я использую Angular 12 и Highcharts 9.

  Highcharts.chart('lineChart', {

  chart: {
    scrollablePlotArea: {}
  },

  xAxis: {
    type: 'datetime',
    gridLineWidth: 1,
    labels: {
      align: 'left',
      x: 3,
      y: -3
    }
  },

  yAxis: [{
    title: {
      text: null
    },
    showFirstLabel: false
  }],
  series: [{
    type: 'line',
    data: [
      [
        1633209533000,
        3
      ],
      [
        1635796087000,
        3
      ],
      [
        1635882487000,
        6
      ],
      [
        1636055287000,
        4
      ],
      [
        1638466033000,
        8
      ],
      [
        1638479933000,
        6
      ]
    ]
  }]
});
 

Ответ №1:

Вы можете использовать форматы даты Highcharts и jalali-moment.

Используйте эту ссылку для установки jalali-moment

в параметрах Highcharts используйте Highcharts.DateFormats

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

По этой ссылке вы можете просмотреть коды онлайн