Конвертировать Месяц, Год в ГГГГ-ММ-ДД - PullRequest
0 голосов
/ 16 января 2019

В прошлом году я написал некоторый код, который выполняет поиск по датам типа «Январь 2018 года» и преобразование их в первый день месяца. Теперь я обнаружил, что это ошибка, и теперь мой код возвращает текущий год, а не год поиска.

$From = "January, 2018";
$From = strtotime($From);
$From = date('Y-m-01', $From);

Это возвращает: 2019-01-01, когда я хочу 2018-01-01

Есть предложения как это исправить?

1 Ответ

0 голосов
/ 16 января 2019

В вашей строке даты отсутствует день, поэтому вы можете сами добавить день и указать формат, в котором он сейчас находится, чтобы создать объект даты. Затем вы можете отобразить этот объект даты в любом формате:

$From = "January, 2018";
$From = DateTime::createFromFormat('d, M, Y','1,'.$From);
$From = $From->format('Y-m-d');
// Outputs 2018-01-01

Узнайте больше о createFromFormat здесь: http://php.net/manual/en/datetime.createfromformat.php

...