Как разрешить формат angular datepicker до и после публикации?

Используя 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 решил одну из проблем.


person Pablo    schedule 06.02.2016    source источник
comment
Вероятно, вы столкнулись с проблемой часовых поясов. Проверьте часовой пояс вашего php-сервера и локального клиента.   -  person FuzzyTree    schedule 06.02.2016


Ответы (1)


Я думаю, это из-за смены часового пояса. Поскольку дата из средства выбора даты выглядит как 2016-02-15T02:00:00.000Z, что означает, что это дата и время, характерное для UTC, и когда вы отправляете ее на сервер, она преобразует ее с использованием вашего часового пояса, вызывая предыдущую дату. Вы можете отправить эту дату на сервер после удаления десятичной части, например

2016-02-15T02:00:00

person Zohaib Ijaz    schedule 06.02.2016