我知道之前可能已经问过这个问题,但我真的没有办法解决它。 基本上会发生什么,Datepicker显示与输入字段不同的日期,因为datepicker似乎忽略UTC并且只看到本地时间。
但是,当我提交表单时,它会发送正确的UTC日期。
<button type="button"
class="btn btn-default datepickerButton dateButton"
datepicker-popup="{{format}}"
ng-click="clickCalendar($event,$index,0)"
ng-model="first.date"
is-open="first.open"
ng-change="selectDate($index)"
show-weeks="false"
min-date="Datepicker.getMinDate()"
max-date="Datepicker.getMaxDate()"
datepicker-options="dateOptions"
show-button-bar="false"
>{{first.date|changeDateFormat}}
</button>
和过滤器:
.filter('changeDateFormat',function($translate){
return function(date) {
if(date===undefined){
return date;
}else {
var day = date.getUTCDate();
var month = date.getUTCMonth() + 1;
var year = date.getUTCFullYear();
if(day<10) day = "0" + day;
if(month<10) month = "0" + month;
if ($translate.use() === 'en_US') {
return month + "/" + day + "/" + year;
} else if ($translate.use() === 'de') {
return day + "." + month + "." + year;
} else {
return day + "/" + month + "/" + year;
}
}
}
});
但是,当我提交表单时,它嵌入了这个日期选择器,它会发送1月31日而不是30日的正确UTC日期。 我怎样才能确保datepicker(view)本身也有UTC日期而不是本地日期?
如果您需要进一步说明,如果这一点不明确,请与我联系。