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

我的问题是:

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

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

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

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


Qyouu
浏览 147回答 2
2回答

隔江千里

如果您date()使用包含前 11 位数字时间的时间参数运行,您将看到您不会在time()until中获得 11 位数字echo date('d/m/Y H:i:s', 10000000000);结果20/11/2286 17:46:40如果您认为您的应用程序将在该日期之后运行,您应该担心这种情况,否则您无需担心或为此编写代码。PS 我怀疑 PHP 是否会存在,或者英特尔是否会在 2286 年出现 :)

慕标琳琳

您无法控制该功能time(),它不接受任何参数。如果你需要让它更长,你可以在时间戳前加上一两个 0。
打开App,查看更多内容
随时随地看视频慕课网APP