Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中将这个十六进制字符串转换为日期_Java_Date_Hex_Data Conversion_Snmp Trap - Fatal编程技术网

如何在java中将这个十六进制字符串转换为日期

如何在java中将这个十六进制字符串转换为日期,java,date,hex,data-conversion,snmp-trap,Java,Date,Hex,Data Conversion,Snmp Trap,我正在尝试将十六进制字符串“07e4070e04032b”转换为日期,下面是我的代码: String hexmillis1 = "07e4070e04032b"; long convertedMillis1 = Long.decode("0x" + hexmillis1); Instant instant1 = Instant.ofEpochMilli(convertedMillis1); LocalDateTime localDateTime1 = Lo

我正在尝试将十六进制字符串“
07e4070e04032b
”转换为日期,下面是我的代码:

String hexmillis1 = "07e4070e04032b";
long convertedMillis1 = Long.decode("0x" + hexmillis1);
Instant instant1 = Instant.ofEpochMilli(convertedMillis1);
LocalDateTime localDateTime1 = LocalDateTime.ofInstant(instant1, ZoneId.systemDefault());

System.out.println(localDateTime1.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
输出:
+72352-01-29T13:17:02.571

预计产量是今天早些时候的日期和时间,因此2020-07-14或2020-07-13

我也尝试过其他一些方法,但似乎并没有给出正确的日期

十六进制字符串来自SNMP陷阱。不确定它是如何准确编码的。

正如您所见,转换是正确的

错误在于十六进制值:


07e4070e04032b=22210437880022571

你有别的办法吗?如何获得十六进制值?十六进制字符串的含义是什么?例如,时间是如何编码的?@azro,@@henry-它来自snmp陷阱。不知道它到底是如何转换的。谢谢你的回复。我在以下位置找到了我的解决方案:对于下一个关于给出令人惊讶结果的代码的问题:请说明您预期的结果。那么我们可以更好地帮助你如何获得这个结果。错。SNMP陷阱日期时间字符串不能以这种方式工作。有关正确答案,请参见链接的原始问题。或者,@OleV.V。据我回答,我不知道数据来自SNMP陷阱,我只是帮助guy调试他的问题,确认执行的转换是正确的,问题在十六进制源代码中。