Angular Material Datepicker возвращает за день до точной даты

Я использую угловой материал на своем веб-сайте, и когда я отправляю дату в свой веб-API, она отображается за день до выбранной даты. Например, если я введу 2016-01-03, он отправит 2016-01-02. Как я могу решить эту проблему. Я не изменил никакой код из исходного кода, представленного на веб-сайте угловых материалов, ссылка на код ниже.

https://material.angularjs.org/latest/demo/datepicker


person Tharindu Senanayake    schedule 28.05.2016    source источник
comment
plnkr.co/edit/Cz6yY56zVEFj621cndBz?p=info Это работает   -  person Tharindu Senanayake    schedule 28.05.2016
comment
Потом ? в чем проблема?   -  person Sajeetharan    schedule 28.05.2016
comment
Когда я передаю значение в веб-API, даже если дата правильно вставлена ​​в форму, когда значение даты получает контроллер веб-API, это значение даты является за день до даты, введенной пользователем. Это моя проблема. Например, если вы введете 2012-05-02, веб-API получит 2012-05-01.   -  person Tharindu Senanayake    schedule 28.05.2016
comment
Вы проверили через скрипач или какой-то инструмент? какое значение передается службе?   -  person Sajeetharan    schedule 28.05.2016
comment
Да, я использовал Postman. Тогда значение приходит в порядке. Проблема заключается в том, что значение даты передается из угловой формы в контроллер веб-API. Даже когда я использую console.log, напечатанное значение даты правильное, но оно уменьшается на 1 при передаче в веб-API.   -  person Tharindu Senanayake    schedule 28.05.2016
comment
Дайте мне Team Viewer, я могу проверить   -  person Sajeetharan    schedule 28.05.2016


Ответы (2)


мы недавно столкнулись с тем же, корректируя значение перед публикацией, как сказано в https://github.com/angular-ui/ui-date/issues/88

работает отлично. Надеюсь, что это полезно для кого-то.

 function adjustDateForTimeOffset(dateToAdjust) {
var offsetMs = dateToAdjust.getTimezoneOffset() * 60000;
return new Date(dateToAdjust.getTime() - offsetMs);
}
person Pradeep    schedule 02.07.2018

Просто попробуйте использовать angular-moment следующим образом.

var temp =(moment.utc(local.date));

Я написал об этом целую статью. ИСПРАВИТЬ В MD-DATEPICKER ДЛЯ ПОЛУЧИТЬ ВЫБРАННУЮ ДАТУ

person nextt1    schedule 28.05.2016