正如标题所示,当将全局useUTC选项设置为false时,我在使用rangeSelector输入时遇到问题,即以下设置:
Highcharts.setOptions({
global: {
useUTC: false
}
});
我有两个小提琴来解释这个问题。
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中)。
Fiddle 2仅使用日期作为日期格式选项,即
inputDateFormat: "%Y-%m-%d",
inputEditDateFormat: "%Y-%m-%d"
在此示例中选择2010-09-22
应生成与小提琴1 中的示例相同的输出,但输出From: 2010-09-22 02:00:00+02:00
。我不确定如何从这里开始。我想为日期解析编写一个自定义回退函数是一个选项,但我的猜测是我在这里遗漏了其他东西。
基于此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
}
});