Я заметил, что strtotime()
странным образом обрабатывает временные метки unix, и мне было любопытно, знает ли кто-нибудь, почему это так:
var_export(strtotime('1330725042')); // false
var_export(strtotime('@1330725042')); // 1330725042
Почему strtotime()
возвращает false
при задании временной метки unix (если указанная временная метка не имеет префикса @
)?
Это из внутренностей созданного мной библиотечного метода, который предназначен для «преобразования» переменной неизвестного формата в метку времени. Использование голой strtotime()
в этом случае бесполезно, поскольку возвращает неверный результат, когда входящее значение на самом деле является отметкой времени.
Я переработал библиотечный метод, чтобы сделать явную проверку значения, похожего на метку времени, и вернуть его без изменений, так что... скажем так, у этого вопроса больше нет практического применения; Мне просто интересно.