Я звоню по 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","");
Хотя это будет работать, есть ли лучший способ сделать это?
Было бы плохой практикой использовать строковые функции в правильно отформатированной дате-времени RFC3339.
Вместо этого можно использовать функции парсинга даты и времени.
$dt = \DateTime::createFromFormat(\DateTime::RFC3339, '2018-05-06T23:42:03+01:00');
var_dump($dt->format('H:i:s'));
Демо онлайн: https://3v4l.org/uNGfG
Рекомендации:
Разделите их пожалуйста
$ts = "2018-05-06T23:42:03+01:00";
$splits = explode('T', $ts);
$date = $splits[0]