gpt4 book ai didi

java - 如何将时间戳转换回相同的 UUID 字符串

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:26 24 4
gpt4 key购买 nike

我使用以下代码为用户创建登录 ID

String login = me.prettyprint.cassandra.utils.TimeUUIDUtils.getUniqueTimeUUIDinMillis().toString();

现在我需要将此登录名转换回长登录名,因此我使用以下代码

long timeStamp = java.util.UUID.fromString(login).timestamp();

现在我想从时间戳恢复登录。我该怎么做?

最佳答案

      final long NUM_100NS_INTERVALS_SINCE_UUID_EPOCH = 0x01b21dd213814000L;

UUID u1 = TimeUUIDUtils.getUniqueTimeUUIDinMillis();
final long t1 = u1.timestamp();

long tmp = (t1 - NUM_100NS_INTERVALS_SINCE_UUID_EPOCH) / 10000;

UUID u2 = TimeUUIDUtils.getTimeUUID(tmp);
long t2 = u2.timestamp();

System.out.println(u2.equals(u1));
System.out.println(t2 == t1);

这有效!!

关于java - 如何将时间戳转换回相同的 UUID 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22063262/

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