У меня есть JQuery DatePicker для пользователя, чтобы выбрать dueBy
дата (мм / дд / гггг), которая хранится в базе данных MySQL. Пользователь может успешно выбрать дату в указателе даты и отправить / сохранить запись. Я использую следующий метод для преобразования m / d / Y в формат UTC:
$date = DateTime::createFromFormat("m/d/Y", $_POST['dueBy']);
$values['dueBy'] = $date->format('U');
Затем, когда пользователь снова просматривает запись, я конвертирую время UTC обратно в легко читаемый формат:
$dueBy = date('m/d/Y', $aQ->dueBy);
Я заполняю указатель даты отформатированной датой оплаты, когда пользователь может оставить ее как есть или выбрать новую дату.
Проблема заключается в следующем: после обновления записи дата сдвигается назад на один (1) день при каждом сохранении. Например. если он изначально 03.03.2015, он сохранится до 03.02.2015. Если я снова открою и сохраню запись, она будет сохранена как 01.03.2015.
Это код, который используется для сохранения (точно так же, как при создании записи):
$date = DateTime::createFromFormat("m/d/Y", $_POST['dueBy']);
$values['dueBy'] = $date->format('U');
Я просматривал записи каждый раз, чтобы просмотреть значения, и они не уменьшаются последовательно (например, одно значение уменьшилось на 86390, а затем, через несколько минут, оно уменьшилось на 86368).
Может кто-нибудь объяснить, почему это происходит, и как этого избежать?
Задача ещё не решена.
Других решений пока нет …