从相应的格里高利日期在高级图表中显示波斯日期

时间:2011-12-03 19:52:38

标签: javascript highcharts

我们可以使用格里高利日期和格鲁吉亚语到波斯语日期转换器脚本来显示HighchartHighstock中的波斯语日期吗?

5 个答案:

答案 0 :(得分:9)

我开发了一个与原始javascript Date类兼容的Jalali Date库JDate。通过将window.Date替换为JDate,可以将highchart / highstock图表中的日期转换为Jalali。使用此方法,所有日期输出都将转换为jalali日历,以及,日期输入功能(如YTD功能或范围选择器)可与jalali日历一起使用。

演示:https://tahajahangir.github.io/jdate/jalali-highcharts-demo.html Jalali date support for highcharts

以上演示中脚本的主要部分是:

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

答案 1 :(得分:8)

然后更好地覆盖日期格式化的方法是使用Highcharts.dateFormats(和persianDate库),这允许将所有日期(不是x或y轴)转换为波斯日历。

示例:http://jsfiddle.net/smpaB/1/

Highcharts with persian date

使用以下命令添加pesianDate库:

<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')}
};

答案 2 :(得分:7)

我借用this js脚本并试用here。不确定这是不是你的目的。

enter image description here

答案 3 :(得分:0)

你可以使用它babakhani persian date 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;
                        }
                    }
                }

答案 4 :(得分:0)

更新2个第一个答案

id
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="https://cdn.jsdelivr.net/npm/persiandate@0.2.1/dist/persiandate.min.js"></script>

<div id="container" style="height: 400px"></div>