Как конвертировать ISO8601 в формат даты в php
Как преобразовать это ( в формат ISO8601): 2014-03- 13T09:05:50.240Z
К этому ( в формате ДАТЫ MySQL): 2014-03-13
В php?
13
3 answers
Попробуйте это
$date = '2014-03-13T09:05:50.240Z';
$fixed = date('Y-m-d', strtotime($date));
Полную документацию по функции даты можно найти здесь: http://php.net/manual/en/function.date.php
Функция PHP "strtotime" не делает ничего другого, кроме преобразования вашей временной строки в метку времени unix.
Надеюсь, я смогу помочь:)
P.s.: На всякий случай, если strtotime вернет 0, попробуйте использовать это:
$date = '2014-03-13T09:05:50.240Z';
$fixed = date('Y-m-d', strtotime(substr($date,0,10)));
20
Author: ThatMSG, 2016-04-28 06:38:55
Начиная с PHP 5.2.0
вы можете сделать это с помощью ООП и DateTime()
также (конечно, если вы предпочитаете ООП):
$now = new DateTime("2014-03-13T09:05:50.240Z");
echo $now->format('Y-m-d'); // MySQL datetime format
5
Author: Faisal, 2017-01-10 17:30:06
Просто преобразуйте описание даты и времени в метку времени Unix, используя strtotime, а затем пять форматов, используя Форматы дат
Попробуйте, это наверняка сработает для вас.
$date = '2014-03-13T09:05:50.240Z';
$fixed = date('Y-m-d', strtotime($date));
1
Author: Mitul Shah, 2014-03-13 11:09:19