转:http://blog.sina.com.cn/s/blog_6a53599101016rvh.html
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下的毫秒值