当前 Unix 时间戳的长度是否可以大于 10 位

Can the length of current Unix timestamp greater then 10 Digits

我的问题是:

time() [10 位数字(秒)] 可以增加到 11 或 12 位吗?

问这个问题的目的是我正在创建一个 uniq 交易 ID,这取决于它和其他一些变量。我必须保持 18 位数字的长度(仅限数字)

编辑: 请注意,我不想让它更长。当它增加到 11/12 位数字时,我必须动态地使其余 7/8 位数字。因为我正在为最后的 7/8 位数字使用 2 个随机化器

编辑2: 它有意义=> rand(8 Digits) vs rand(3) + rand(3) + rand(2) 用于碰撞目的吗??

您无法控制函数 time(),它不接受任何参数。 如果你需要让它更长,你可以在时间戳前加上一两个 0。

如果您 运行 date() 使用包含前 11 位数字时间的时间参数,您将看到在 time() 之前您不会获得 11 位数字,直到

echo date('d/m/Y H:i:s', 10000000000);

结果

20/11/2286 17:46:40

如果您认为您的应用程序将在该日期之后 运行ning 您应该担心这种情况,否则您无需担心或为此编写代码。

PS 我怀疑 PHP 是否会存在,或者英特尔是否会在 2286 年实现它:)