PHP: простое преобразование объекта в строку не удается

Я хочу преобразовать строку, которую я выбрал, в объект даты, чтобы я мог добавить / вычесть дни из него. Я попробовал несколько методов, которые я прочитал в сети, но все потерпели неудачу, и я полностью потерян (это должно быть легко!). Это один пример:

echo '11: '.substr($content, 0, 10).'<br/>';
$theDay = new datetime(substr($content, 0, 10));
echo '2: '.$theDay->format('yyyy-mm-dd').'<br/>';
$theDay->modify('+1 day');
echo '21: '.$theDay->format('yyyy-mm-dd').'<br/>';

Вывод, который я получил, был:

11: 2016-02-10
2: 16161616-0202-1010
21: 16161616-0202-1111

Первая строка показывает, что структура даты правильная, вторая строка выглядит странно! и после добавления 1 дня это выглядит так, как будто оно добавило 1 день (11 вместо 10), но опять же это выглядит странно. Что мне не хватает?

-1

Решение

Вы перепутали строку формата:

echo '11: '.substr($content, 0, 10).'<br/>';
$exDay = new datetime(substr($content, 0, 10));
echo '2: '.$exDay->format('Y-m-d').'<br/>';
$exDay->modify('+1 day');
echo '21: '.$exDay->format('Y-m-d').'<br/>';

Выход:

11: 2016-02-10
2: 2016-02-10
21: 2016-02-11

Увидеть руководство для полного списка символов формата. Для этого вопроса важны:

Y   A full numeric representation of a year, 4 digits
y   A two digit representation of a year
m   Numeric representation of a month, with leading zeros
d   Day of the month, 2 digits with leading zeros

Т.е. ты не пишешь yyyy в течение четырехзначного года, но вместо Y (то же самое касается m а также d).

2

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

Других решений пока нет …

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