У меня такой код:
$input = '2018-10-28T08:36:31.521Z';
$dateTime = preg_split('[T.]', $input);
echo ($dateTime[1]);
Результат:
08:36:31.521Z
сплит с «Т» работает, но не работает с «. (Смысл)
Я пытался:
'[T\.]'
он также не работает (никогда не разбивает его).
Почему вы используете регулярные выражения для управления датой? Что ты пытаешься сделать, на самом деле?
Возможный дубликат Преобразование одного формата даты в другой в PHP
Я ожидаю получить: дату, затем время, мне не нужно '.521Z', я хочу получить ['', '', ''], затем я продолжаю использовать первый и второй столбцы






Регулярное выражение должно начинаться и заканчиваться определенными символами. Мой совет всегда разрабатывать с настройками display_errors = 1 и error_reporting (E_ALL);
$input = '2018-10-28T08:36:31.521Z';
$dateTime = preg_split('/[T.]/', $input);
echo ($dateTime[1]);
ваш код должен работать, вы просто пропустили / в регулярном выражении
Для функции preg_split() образец должен быть окружен косой чертой (или другим символом, который соответствует требованиям). Например :
$input = '2018-10-28T08:36:31.521Z';
$dateTime = preg_split('/[T.]/', $input);
echo ($dateTime[1]);
Выход :
08:36:31
Но для управления датой и временем лучше использовать объект PHP DateTime.
Надеюсь, это поможет.
Как выглядит ожидаемый выходной массив?