Может ли длина текущей Unix отметки времени превышать 10 цифр - PullRequest
2 голосов
/ 07 мая 2020

Мой вопрос:

Можно ли time() [10-значное число (секунды)] увеличить до 11 или 12 цифр?

Задача этого вопроса: я создание идентификатора транзакции uniq в зависимости от этого и с некоторой другой переменной .. Я должен поддерживать длину 18 цифр (только числа)

Редактировать: Примечание. Я не хочу делать это длиннее .. По мере увеличения до 11/12 цифр, я должен сделать остальные 7/8 цифр динамически .. Поскольку я использую 2 рандомизатора для последних 7/8 цифр

Edit2: Будет ли это иметь смысл => rand(8 Digits) vs rand(3) + rand(3) + rand(2) Для целей столкновения ??

Ответы [ 2 ]

2 голосов
/ 07 мая 2020

Если вы запустите date() с параметром времени, содержащим первые 11 di git time, вы увидите, что вы не получите 11 цифр в time() до тех пор, пока

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

RESULT

20/11/2286 17:46:40

Если вы думаете, что ваше приложение будет работать после этой даты, вам следует беспокоиться об этой ситуации, иначе вам не нужно беспокоиться или кодировать для нее.

PS Я сомневаюсь, что PHP будет Существуют или Intel приходят к этому в 2286:)

0 голосов
/ 07 мая 2020

Вы не контролируете функцию time(), она не допускает никаких параметров. Если вам нужно сделать это длиннее, вы можете добавить один или два нуля к отметке времени.

...