Я использую
$jsdate = date("Y, m, d", strtotime('-1 month', (strtotime($date))));
, чтобы конвертировать мои даты из
2011-03-28
to
2011, 02, 28
Проблема в том, что это приводит к непредсказуемым результатам.Например сегодня у меня
2011-03-28
converted to
2011, 02, 28 // OK
AND
2011-03-29
to
2011, 03, 01 // not OK!
Кто-нибудь знает, что здесь не так?Интересно, является ли вычисление неточным из-за -1 month
.
Есть ли способ простого вычитания 1
из m
в ...date("Y, m, d", ...
?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Мои данные должны быть отформатированы как JavaScript Date Object
, где январь равен 0, февраль равен 1 и т. Д. Поэтому нет необходимости специально вычитать 1 месяц , но на самом деле вычитать 1от месяца целое число .В конце, результирующая строка должна быть не на 1 месяц раньше, а фактически той же датой, представленной в стиле JS Date Object
.Я считаю, что ответ @ vprimachenko ниже является хорошим решением.Я прошу прощения, если это не было ясно в моем ОП.
Спасибо!