用正确的月份格式化Highcharts日期
Fomatting the Highcharts date with correct month
我有一个Json数据,我正在从数据库中检索填充highcharts系列从DB中检索到的序列数据如下所示:'series_data' => string '[
{name:'Hyderabad',data:[
[Date.UTC(2013, 05, 01),311328],[Date.UTC(2013, 05, 02),363780],
[Date.UTC(2013, 04, 03),364062],[Date.UTC(2013, 04, 04),283128],
[Date.UTC(2013, 04, 05),322608]] },
{name:'Vijayawada',data:[
[Date.UTC(2013, 06, 01),363216],[Date.UTC(2013, 06, 02),404670],
[Date.UTC(2013, 06, 03),370783],[Date.UTC(2013, 06, 04),459942],
[Date.UTC(2013, 07, 05),569499]] }]'
有一个问题,javascript日期,而在图表中显示,它显示一个月前。我知道javascipt Date将接受月份值0 - 11…0是1月,11是12月,
所以,我的问题是,在高图中显示如何格式化日期以显示正确的月份。我无法在数据库侧格式化日期。
你不必在数据库中格式化日期,但你可以在发送到Highcharts之前格式化。
简单代替:
Date.UTC(2013, 05, 01)
使用:
Date.UTC(2013, 04, 01)
或者更好:
Date.UTC(2013, 4, 1)
JS中的解决方案:
function subtractMonth(a) {
var date = new Date(a[0]),
month = date.getMonth();
date.setMonth(month - 1);
return [date.getTime(), a[1]];
}
function sorter(a, b) {
return a[0] - b[0];
}
var data = [{
name: 'Hyderabad',
data: [
[Date.UTC(2013, 05, 01), 311328],
[Date.UTC(2013, 05, 02), 363780],
[Date.UTC(2013, 04, 03), 364062],
[Date.UTC(2013, 04, 04), 283128],
[Date.UTC(2013, 04, 05), 322608]
]
}, {
name: 'Vijayawada',
data: [
[Date.UTC(2013, 06, 01), 363216],
[Date.UTC(2013, 06, 02), 404670],
[Date.UTC(2013, 06, 03), 370783],
[Date.UTC(2013, 06, 04), 459942],
[Date.UTC(2013, 07, 05), 569499]
]
}];
$.each(data, function (i, s) {
s.data = s.data.map(subtractMonth);
s.data.sort(sorter);
})
$('#container').highcharts({
chart: {
type: 'column'
},
xAxis: {
type: 'datetime'
},
series: data
});
jsFiddle: http://jsfiddle.net/n9nR2/
通常不需要在数据本身中格式化日期。Highcharts具有格式化日期的特定配置,称为dateFormat。它们有标签和工具提示。然后,如果你在创建图表后做一些自定义的事情,你可能需要自己做,但通常不是你做的方式。有关示例,请参阅Highcharts API链接:
http://api.highcharts.com/highcharts plotOptions.area.tooltip.dateTimeLabelFormatshttp://api.highcharts.com/highcharts Highcharts.dateFormat
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- 使用HighCharts格式化数据点和Y轴标签
- Highcharts:格式化程序和点击功能don'不能使用Angular
- Highcharts xAxis将格式化程序回调数据标记为空
- 如何在HighCharts中为堆栈列图表格式化json数据
- 编写 JSON 解析器以格式化饼图 (HighCharts) 的数据
- 使用 jquery 替换的 Highcharts 工具提示格式化程序
- 如何格式化Highcharts columnRange以获取温度Min和Max的json数据
- 如何格式化Highcharts以获取特定的json数据
- 使用JSON将格式化JavaScript代码传递给HighCharts
- 如何格式化Ruby数组以用作Highcharts中的数据
- *Highcharts*用于组合图表的工具提示格式化程序
- 如何格式化Highcharts的(x,y)对数据的日期时间
- 修改php highcharts中的工具提示格式化程序
- Highcharts标签格式化器查询mysql
- Highcharts工具提示格式化器返回函数抛出未捕获的TypeError: j.i call不是函数
- Highcharts: Y轴标签格式化程序
- Highcharts柱状图与下钻,删除超链接,如格式化从x轴标签
- Highcharts工具提示格式化程序只显示this.point.name中的前8个字符
- 用正确的月份格式化Highcharts日期