Отображение персидских дат в Хайчарте с соответствующей грузинской даты

StackOverflow https://stackoverflow.com/questions/8370503

  •  27-10-2019
  •  | 
  •  

Вопрос

Можем ли мы использовать григорианские даты вместе со сценарием конвертера с грузинской и персидской конвертером, чтобы показать персидские даты Highchart а также Highstock?

Это было полезно?

Решение

Я одолжил это Сценарий JS и попробовал это здесь. Анкет Не уверен, что это то, что вы хотите, хотя.

enter image description here

Другие советы

Я разработал библиотеку дат Джалали, JDate, это совместимо с оригинальным JavaScript Date учебный класс. Даты в диаграммах HighChart/Highstock могут быть преобразованы в Jalali, заменив window.Date с JDate. Анкет С помощью этого метода все выходы даты преобразуются в календарь Jalali, А также, функции ввода даты (например, функция YTD или селектор диапазона) работает с календарем Jalali.

Демонстрация: https://tahajahangir.github.io/jdate/jalali-highcharts-demo.html Jalali date support for highcharts

Основная часть сценария в DEMO - это:

<script src="//raw.githack.com/tahajahangir/jdate/master/jdate.min.js"></script>
<script>
    window.Date = JDate;
    Highcharts.setOptions({
        lang: {
            months: ['فروردين', 'ارديبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'],
            shortMonths: ['فروردين', 'ارديبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'],
            weekdays: ["یکشنبه", "دوشنبه", "سه شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه"]
        }
    });
</script>

Тогда лучший способ переопределить формирование дат - использовать Highcharts.dateFormats (а также персиндат Библиотека), это позволяет преобразовать все даты (не оси x или y) в персидский календарь.

Образец: http://jsfiddle.net/smpab/1/

Highcharts with persian date

Добавить библиотеку Pesiantate с:

<script src="http://rawgithub.com/babakhani/PersianDate/master/dist/persian-date.min.js"></script>

И настроить Highcharts с:

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

Вы можете использовать его Бабахани персидская дата JSНапример:


xAxis: {
                    type: 'datetime',
                    labels: {
                        formatter: function () {
                            var date = new Date(this.value);
                            var pdate = persianDate(date);
                            return (pdate.pDate.year - 1300) + "/" + pdate.pDate.month;
                        }
                    }
                }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top