gpt4 book ai didi

java - 将十六进制值转换为时间戳/日期和时间

转载 作者:行者123 更新时间:2023-11-30 03:01:49 27 4
gpt4 key购买 nike

嗨,我有MSC生成的十六进制时间戳字符串(相邻基站保存移动用户位置的记录)。现在我想将十六进制字符串转换为人类可读的日期和时间。

我尝试了以下方法,但无法转换:

        String s = "1508221325112B0530";
long longVaue = new BigInteger(s, 16).longValue();

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

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

System.out.println(dateFormat.format(c.getTime()));

输出:18573217-01-15 09:15:35

它没有打印年份,任何帮助将不胜感激。

最佳答案

看起来您的日期以皮秒为单位。试试这个:

long longVaue = new BigInteger(s, 16).divide(BigInteger.valueOf(1000000000)).longValue();

应打印出 1982-04-18 12:47:57

另一种(更可能的?)可能性是它实际上是一个十进制数字,并且还有一些由“B”分隔的其他值:

long longVaue = Long.parseLong(s.split("B")[0]);

打印2017-10-16 11:22:05

注意:我的时区是 PST。您的结果可能会略有不同。

关于java - 将十六进制值转换为时间戳/日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35765637/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com