Highstocks rangeSelector输入与全局useUTC:false不起作用

时间:2017-09-22 11:28:07

标签: javascript date highcharts highstock

正如标题所示,当将全局useUTC选项设置为false时,我在使用rangeSelector输入时遇到问题,即以下设置:

Highcharts.setOptions({
    global: {
        useUTC: false
    }
});

我有两个小提琴来解释这个问题。

小提琴1 - 日期&小时格式(工作)

Fiddle 1使用日期&时间作为日期格式选项,即

inputDateFormat: "%Y-%m-%d %H:%M:%S",
inputEditDateFormat: "%Y-%m-%d %H:%M:%S"

工作正常。例如,如果您选择2010-09-22 00:00:00作为输入,则会输出From: 2010-09-22 00:00:00+02:00(因为我在GMT + 2中)。

小提琴2 - 仅日期格式化(不起作用)

Fiddle 2仅使用日期作为日期格式选项,即

inputDateFormat: "%Y-%m-%d",
inputEditDateFormat: "%Y-%m-%d"

在此示例中选择2010-09-22应生成与小提琴1 中的示例相同的输出,但输出From: 2010-09-22 02:00:00+02:00。我不确定如何从这里开始。我想为日期解析编写一个自定义回退函数是一个选项,但我的猜测是我在这里遗漏了其他东西。

更新1

基于此this github topic(在评论中提到),我编写了这个自定义inputDateParser函数:

inputDateParser: function (value) {
    var temp_date;
    if (defaultOptions.global.useUTC) {
        temp_date = moment.utc(value);
    }
    else {
        temp_date = moment(value);
    }
        return temp_date.valueOf();
}

(..需要将全局选项存储到变量中)

var defaultOptions = Highcharts.setOptions({
    global: {
        useUTC: false
    }
});

Working fiddle

0 个答案:

没有答案