在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 4字節(jié)長整型,如何轉變?yōu)閖ava的long數字?

4字節(jié)長整型,如何轉變?yōu)閖ava的long數字?

如: 7D 17 4F 5B
這是一個時間字節(jié)。

大概應該是 1531881242100 才得到當前的時間截。但是,我解碼出來,總是數字不對。
這是從modbus里讀取來的數據。
反正,高低位,轉換來轉換去,就是時間不對。如何求解?
以上得出一個 long值,然后用SimpleDateFormat 轉為 時間格式的內容。

回答
編輯回答
傻叼

把hex轉換為long就可以了,代碼就不貼了。你這個四字節(jié)是32位,而long是64位,所以你應該是少算了4個字節(jié)。

2018年2月24日 02:49
編輯回答
來守候

經過不斷嘗試,無法解析.

    @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

2017年1月17日 07:26