如: 7D 17 4F 5B这是一个时间字节。大概应该是 1531881242100 才得到当前的时间截。但是,我解码出来,总是数字不对。这是从modbus里读取来的数据。反正,高低位,转换来转换去,就是时间不对。如何求解?以上得出一个 long值,然后用SimpleDateFormat 转为 时间格式的内容。
2 回答
精慕HU
TA贡献1845条经验 获得超8个赞
经过不断尝试,无法解析.
@Test public void test9(){ Date date=new Date(1531910014000L); System.out.println(date); } @Test public void test10(){ String[] strs=new String[]{"7D","17","4F","5B"}; long lng=1; for(int i=0;i<strs.length;i++){ lng+=Integer.valueOf(strs[i], 16) * Math.pow(256, Math.abs(i)); } lng*=1000; System.out.println(lng); }
test10输出:1531910014000
test9输出:Wed Jul 18 18:33:34 CST 2018
- 2 回答
- 0 关注
- 588 浏览
添加回答
举报
0/150
提交
取消