Я хочу преобразовать эту строку «2016-05-30 15:35:00» в ISO 8601 формат, который должен выглядеть следующим образом:
Ожидаемый результат : 2016-05-30T15: 35: 00 + 05: 30
Я попытался следовать, но на выходе это на 2 часа меньше,
$ phpdate = strtotime ('2016-05-30 15:35:00'); echo gmdate ('Y-m-d \ TH: i: s \ +05: 30', $ phpdate);
Выход : 2016-05-30T13: 35: 00 + 05: 30
Я где-то ошибся? или есть более простой способ для этого преобразования?
Вы используете gmdate
функция PHP, которая преобразует дату в UTC
вместо формата вам нужно использовать date
функция как
date_default_timezone_set("Asia/Kolkata");//Set your timezone to Asia/Kolkata
$phpdate = strtotime('2016-05-30 15:35:00');
echo date('c', $phpdate);// 2016-05-30T13:35:00+05:30 if your timezone is of Asia/Kolkata
для более простого способа обработки дат я рекомендую углерод
для вашей проблемы это будет:
$date = new Carbon("2016-05-30 15:35:00");
echo $date->toIso8601String();