有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在JAVA中,将十六进制转换为十进制,将十进制转换为时间戳

我在将16位十六进制字符串解析为十进制整数值时遇到了问题

我尝试了以下将十六进制转换为十进制的代码:

    String HexString= "0000113fc208dff"; 
    int dec= Long.parseLong(HexString);

但是它抛出NumberFormatException: Invalid int ...

现在我如何转换为十进制/二进制,并进一步将十进制/二进制转换为时间戳

任何帮助都将不胜感激


共 (2) 个答案

  1. # 1 楼答案

    试试这个代码

    String HexString= "0000113fc208dff"; 
    long dec= Long.parseLong(HexString, 16);
    System.out.println(dec);
    

    结果:

    1185345998335  
    
  2. # 2 楼答案

    第一个参数是字符串,第二个参数是基数

    long epoch=Long.parseLong(str, 16);
    

    然后通过日历转换为时间戳

    Calendar c=Calendar.getInstance();
    c.setTimeInMillis(epoch);