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

原文地址:https://www.cnblogs.com/hwaggLee/p/4745992.html