从 uuid1 中提取时间戳

Eti*_*Cha 2 php uuid timestamp

我对这个非常基本的话题感到抱歉,但经过多次谷歌搜索后我无法找到正确的答案

我得到了一个 uuid1 并想提取其中包含的时间戳,这似乎 100% 可能,因为当我尝试使用 ce53f406 时,该网站给了我正确的答案: https ://www.famkruithof.net/uuid/uuidgen -9ba0-11e6-a6e8-e715bd508dc3

经过我的研究,我没有找到任何简单的解决方案......没有基本的解决方案来提取这个时间戳吗?

此致,

小智 5

这个问题出现在我的雷达上,因为它被标记为“php”。如果您正在寻找 PHP 解决方案来从版本 1 UUID 中获取时间戳,则可以使用ramsey/uuid库来解析 UUID。(这是我的图书馆,所以我有点偏见。)

使用Composer安装库:

composer require ramsey/uuid
Run Code Online (Sandbox Code Playgroud)

然后您可以执行以下操作从 UUID获取PHP DateTime对象:

$myUuid = 'ce53f406-9ba0-11e6-a6e8-e715bd508dc3';

$uuid = \Ramsey\Uuid\Uuid::fromString($myUuid);

echo 'UUID timestamp (60-bit integer): ' . $uuid->getTimestamp() . "\n";
echo 'Formatted date/time: ' . $uuid->getDateTime()->format('r') . "\n";
echo 'Unix timestamp: ' . $uuid->getDateTime()->getTimestamp() . "\n";
Run Code Online (Sandbox Code Playgroud)

此示例将打印出如下内容:

UUID timestamp (60-bit integer): 136967953640059910
Formatted date/time: Wed, 26 Oct 2016 17:22:44 +0000
Unix timestamp: 1477502564
Run Code Online (Sandbox Code Playgroud)