highstock的数据格式采用的是[[时间,数据],[时间,数据],[时间,数据],[时间,数据]],而时间采用的是13位的毫秒值,如[1133136000000,69.66],采用的时间格式为UTC(世界标准时间),因此在后台对时间处理时,不能只是简单的转化为毫秒值,如果只是专为毫秒值,在前台的图形上会出现数据线跟时间有错位的现象。只有转化为UTC格式下的毫秒值才不会出现错位。
java下取utc下的毫秒值:
Date date = null; DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); date = df.parse("2012-11-26"); Calendar cal =
Calendar.getInstance(TimeZone.getDefault());//TimeZone.getDefault()获取主机的默认
TimeZone,即时区偏移量。 cal.setTime(date); list.add(date.getTime()+cal.getTimeZone().getRawOffset());//cal.getTimeZone().getRawOffset()是相对utc的偏移量 //date.getTime()+cal.getTimeZone().getRawOffset()就是2012-11-26对应的utc下的毫秒值 非UTC格式毫秒
UTC格式毫秒