Javascript 将日期字符串格式化为图表
我一直在尝试将最小和最大字符串日期插入我的highcharts图表,如下所示:Javascript 将日期字符串格式化为图表,javascript,datetime,format,highcharts,Javascript,Datetime,Format,Highcharts,我一直在尝试将最小和最大字符串日期插入我的highcharts图表,如下所示: var formatted_startDate = startDate.replace(/-/g, ","); var formatted_endDate = endDate.replace(/-/g, ","); //Format now is "yyyy,mm,dd" options = { chart: { renderTo: 'contai
var formatted_startDate = startDate.replace(/-/g, ",");
var formatted_endDate = endDate.replace(/-/g, ",");
//Format now is "yyyy,mm,dd"
options = {
chart: {
renderTo: 'container',
type: 'bar'
},
xAxis: {
type: "datetime",
dateTimeLabelFormats: {
day: '%m-%d'
},
tickInterval: 24 * 3600 * 1000,
min: Date.UTC(formatted_startDate),
max: Date.UTC(formatted_endDate)
},
显然,上面的方法行不通,因为我正在传递字符串。我这样写是为了说明我正在尝试做什么,而不是发布大量失败尝试的代码。我尝试使用JSON.parse和eval(),但语法有问题
任何帮助都将不胜感激。Cheers最终只是在highcharts API中使用了setExtremes方法
var formatted_startDate = startDate.replace(/-/g, ",");
var formatted_endDate = endDate.replace(/-/g, ",");
//Format now is "2000,00,00"
var startdatearray = formatted_startDate.split(",");
var enddatearray = formatted_endDate.split(",");
var sy = parseInt(startdatearray[0]);
var sm = parseInt(startdatearray[1],10) - 1;
var sd = parseInt(startdatearray[2]);
var ey = parseInt(enddatearray[0]);
var em = parseInt(enddatearray[1],10) - 1;
var ed = parseInt(enddatearray[2]);
chart = new Highcharts.Chart(options);
chart.xAxis[0].setExtremes(Date.UTC(sy,sm,sd), Date.UTC(ey, em, ed));
您是否尝试过使用“新日期(格式化日期)”?我考虑过,但是这不会将任何日期转换为yyyy/mm/dd格式吗?highcharts所需的格式为yyyy,mm,ddI我认为您需要首先检查是否可以在xAxis中使用min和max。当然可以使用min和max,通过将值直接插入到代码中进行测试,如min:Date.UTC(2000,02,19)。尝试过吗?这是图书馆里一个额外的好东西,经常被忽视,而且非常方便,不仅仅是对hc本身。