strtotime не работает с микросекундами

strtotime Функция не работает при попытке конвертировать строку, содержащую микросекунды, в метку времени Unix. Меня не волнует сохранение микросекунд в метке времени Unix.

Пример:

$date = '2017-03-21-10:58:01.7888';
echo strtotime($date); // always outputs 0

0

Решение

Формат с микросекундами не поддерживается PHP, см. список составных форматов (Дата и время). Вы должны преобразовать его в поддерживаемый формат. Если метка времени гарантированно использует этот формат, вы можете разделить ее на точку, а затем использовать первую часть, чтобы получить метку времени без микросекунд:

echo strtotime(split(".", $data)[0]);
-1

Другие решения

В соответствии с эти тесты и Руководство по PHP, проблема в том, что между датой и временем есть черта:

5.0.0. Микросекунды стали разрешать, но они игнорируются.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector