Отображение персидских дат в Хайчарте с соответствующей грузинской даты
-
27-10-2019 - |
Вопрос
Можем ли мы использовать григорианские даты вместе со сценарием конвертера с грузинской и персидской конвертером, чтобы показать персидские даты Highchart
а также Highstock
?
Другие советы
Я разработал библиотеку дат Джалали, JDate
, это совместимо с оригинальным JavaScript Date
учебный класс. Даты в диаграммах HighChart/Highstock могут быть преобразованы в Jalali, заменив window.Date
с JDate
. Анкет С помощью этого метода все выходы даты преобразуются в календарь Jalali, А также, функции ввода даты (например, функция YTD или селектор диапазона) работает с календарем Jalali.
Демонстрация: https://tahajahangir.github.io/jdate/jalali-highcharts-demo.html
Основная часть сценария в 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/
Добавить библиотеку 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;
}
}
}