Отделяйте дату и время от объединенной временной метки

Я звоню по API.
Формат возвращаемой метки времени выглядит следующим образом:

"Date":"2018-05-06T23:42:03+01:00"

Как мне отделить дату от времени?

Пока что у меня есть:

$ts = "2018-05-06T23:42:03+01:00";
$date = substr($ts, 0, strpos($ts, "T"));
$date = str_replace($date,"T","");

Хотя это будет работать, есть ли лучший способ сделать это?

0

Решение

Было бы плохой практикой использовать строковые функции в правильно отформатированной дате-времени RFC3339.

Вместо этого можно использовать функции парсинга даты и времени.

$dt = \DateTime::createFromFormat(\DateTime::RFC3339, '2018-05-06T23:42:03+01:00');

var_dump($dt->format('H:i:s'));

Демо онлайн: https://3v4l.org/uNGfG

Рекомендации:

2

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

Разделите их пожалуйста

$ts = "2018-05-06T23:42:03+01:00";
$splits = explode('T', $ts);
$date = $splits[0]
0

По вопросам рекламы [email protected]