Используя Angular Material Datepicker, при отправке формы я получил:
2016-02-15T02: 00: 00.000Z
И когда я попробовал форматировать на PHP, как:
date('Y-m-d', strtotime($post['date']))
Я получил:
2016-02-14
И когда дата возвращается к угловой:
success: function(data) { $scope.date = new Date(data.date); }
Я получил:
2016-02-13
Итак, что я делаю не так
[ОБНОВИТЬ]я кладу date_default_timezone_set($timezone);
в моем index.php
Итак, до этого я делал:
$str = date('d/m/Y', strtotime('+2 day', strtotime($post['date'])));
$workaround = new Date($str);
И теперь я изменился на +1 день
Я думаю, что часовой пояс php решил одну из проблем.
Я думаю, что это из-за смены часового пояса. Так как дата от DatePicker выглядит как 2016-02-15T02:00:00.000Z
Это означает, что это дата-время, специфичное для UTC, и когда вы отправляете его на сервер, он преобразует его, используя ваш часовой пояс, вызывая предыдущую дату.
Вы можете отправить эту дату на сервер после удаления десятичной части, например
2016-02-15T02: 00: 00
Других решений пока нет …