Я прочитал много постов, касающихся этого, и перепробовал столько, сколько мог, но, похоже, ничего не работает. Я использую загрузчик uib-datepicker-popup, чтобы позволить пользователю выбрать дату. По какой-то причине в календаре отображается день, предшествующий значению модели. Из многих постов, которые я прочитал, это похоже на проблему с часовым поясом. Я не смог найти ничего в сообщениях, которые решают проблему для меня.
Here is the HTML:
<input type="text" class="input-sm " valid-date uib-datepicker-popup="{{format}}"
ng-model="statusDate" is-open="datepicker.statusDate" datepicker-options="dateOptions"
close-text="Close" ng-change="updateDate(statusDate)" />
Here is my directive:
app.directive('validDate', function (dateFilter,$parse){
return{
restrict:'EAC',
require:'?ngModel',
link:function(scope,element,attrs,ngModel,ctrl){
ngModel.$parsers.push(function(viewValue){
return dateFilter(viewValue,'yyyy-MM-dd');
});
}
}
});
Я попытался добавить ng-model-options = "{timezone: 'UTC'}" (как заглавные, так и строчные), и ничего не изменилось. У меня уже есть вышеуказанная директива, которую я считаю решением. Мои объекты - объекты Date (во многих сообщениях это нужно).
Это работало ранее, но код был перемещен на другой сервер. Я просто не могу найти правильный кусок, чтобы заставить его работать снова.