Микросекунды Unix Time Integer как строка в PHP - PullRequest
2 голосов
/ 12 июля 2011

Мне нужно текущее время unixtime в виде круглого числа микросекунд в строке.Существует вероятность того, что код может работать на компьютере с 32-битными целыми числами, поэтому лучше избегать целых чисел.Это значение используется только в запросах SQL, поэтому строка будет в порядке.

Безопасно ли использовать следующий код?

$x = explode(' ', microtime());
$y = $x[1] . substr($x[0], 2, 6);

Безопасно ли принимать координаты этих подстрок?в microtime () возвращаемое значение инвариантны?

Ответы [ 2 ]

0 голосов
/ 12 июля 2011

Безопасно ли считать, что координаты этих подстрок в возвращаемом значении microtime () инвариантны?

Да, в значительной степени. Возвращаемое значение строки сохраняется с более длительного времени. Одно из предлагаемых изменений - сделать необязательный аргумент по умолчанию true, однако затем вы можете установить его в false, чтобы получить строку.

0 голосов
/ 12 июля 2011

Это задокументировано как таковое в руководстве по PHP, поэтому, если вы уверены, что PHP не начнет нарушать обратную совместимость в ближайшее время, тогда да, вы можете доверять этому.

По умолчанию microtime () возвращает строку в форме «мсек с», где сек - текущее время, измеренное в секундах с начала эпохи Unix (0:00:00 1 января 1970 года по Гринвичу),и msec - это количество микросекунд, прошедших с секунды, выраженное в секундах.

Если для get_as_float задано значение TRUE, то microtime () возвращает значение с плавающей запятой, которое представляет текущее время в секундах с начала эпохи Unix с точностью доближайшая микросекунда.


Правка не имеет значения, я неправильно понял.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...