highstock-处理时间需要处理世界时间偏移量

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格式毫秒

 

posted @ 2015-08-20 18:08  243573295  阅读(275)  评论(0编辑  收藏  举报