在我的数据库中,时间以UTC和前端存储,我使用uib-timepicker来编辑/更新时间。我不希望uib-timepicker将时间从服务器时区转换为本地时区。我希望uib-timepicker只显示UTC时间。
那么,如何停止uib-timepicker转换时区?
P.S:我在IE中没有任何问题。仅在Chrome中,它正在转换时区。答案 0 :(得分:1)
使用时区偏移量将其转换回UTC:
{{1}}
答案 1 :(得分:0)
添加以下指令可使用uib-datepicker中的uibDateParser解决uib-timepicker的问题。
/**
* UTC for timepicker
*/
angular.module('app').directive('uibTimepicker', function(uibDateParser) {
return {
require: 'ngModel',
link: function(scope, element, attrs, ngModel) {
ngModel.$formatters.push(function(value) { // view
if(!value) { return value; }
return uibDateParser.fromTimezone(value, 'UTC');
});
ngModel.$parsers.push(function(value) { // model
if(!value) { return value; }
return uibDateParser.toTimezone(value, 'UTC');
});
}
};
});