java 16进制数据转为时间

爱折腾的小闲余 2021-04-02 10:19:37
请问这种16进制数据 怎么才能转换后面的这种时间呢?
81 ad 66 60 a9 1e 02 ac => 2021-04-02 13:37:05
...全文
380 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2021-04-09
  • 打赏
  • 举报
回复
"a9 1e 02 ac"这个跟时间没有关系. 前面四个字节倒过来转为10进制就是时间戳了
        final String data = "07 14 6c 60 a9 1e 02 ac";
        String array[] = data.split("\\s");
        String hex = array[3]+array[2]+array[1]+array[0];
        int time = Integer.parseInt(hex, 16) - 0x1E13380;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String result = sdf.format(new Date(time * 1000L));
        System.out.println(result);
  • 打赏
  • 举报
回复
85 12 6c 60 a9 1e 02 ac => 2020-04-06 15:49:25 0b 13 6c 60 a9 1e 02 ac => 2020-04-06 15:51:39 87 13 6c 60 a9 1e 02 ac => 2020-04-06 15:53:43 07 14 6c 60 a9 1e 02 ac => 2020-04-06 15:55:51

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧