今天做项目遇到了GPS Time格式的时间,经过查询自己写了一个解析的方法,如下:
时间如:1544,489261.040 说明 1544是从1980年1月6日的星期数,489261.040是从当前星期天开始的秒数。.040是毫秒数。解析如下:
运行结果是:Fri Aug 14 15:54:21 CST 2009
时间如:1544,489261.040 说明 1544是从1980年1月6日的星期数,489261.040是从当前星期天开始的秒数。.040是毫秒数。解析如下:
/**
* 1544,489261.040
* @return
* @throws ParseException
*/
public static Date getDayOfString(String gpsTime) throws ParseException{
if(gpsTime == null){
return null;
}
String[] weekList = gpsTime.split(",");
String weeks = weekList[0];
String times = weekList[1];
int weeksInt = -1;
double weekTONow = 0.0d;
try{
weeksInt = Integer.parseInt(weeks);
weekTONow = Double.parseDouble(times);
}catch(Exception eq){
eq.printStackTrace();
}
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
long interval = weeksInt*7 *(24 * 60 * 60 * 1000l)+myFormatter.parse("1980-1-6").getTime();
java.util.Date date = new Date(interval);
Double tmp1 = weekTONow*1000l;
long newDayTime = date.getTime()+tmp1.longValue();
return new Date(newDayTime);
}
运行结果是:Fri Aug 14 15:54:21 CST 2009
本文介绍了一种GPSTime格式的解析方法。GPSTime由从1980年1月6日起的周数和该周内的秒数组成。通过具体示例展示了如何将这种特殊的时间格式转换为标准日期格式。
373

被折叠的 条评论
为什么被折叠?



