Angularjs 角度UI引导计时器选择器-24小时时间的值分配问题

Angularjs 角度UI引导计时器选择器-24小时时间的值分配问题,angularjs,angular-ui-bootstrap,Angularjs,Angular Ui Bootstrap,计时器选择器未正确处理24小时时间分配。例如 <timepicker ng-model="$time" hour-step="1" minute-step="1" show-meridian="true"></timepicker> 执行以下操作时:$scope.$time=“2012-04-23T18:25:43Z”,时间选择器将更新为06:25 AM。应该是下午6:25 即使我设置了show meridian=“false”,它仍然显示06:25日期格式中的“Z

计时器选择器未正确处理24小时时间分配。例如

<timepicker ng-model="$time" hour-step="1" minute-step="1" show-meridian="true"></timepicker>

执行以下操作时:
$scope.$time=“2012-04-23T18:25:43Z”
,时间选择器将更新为
06:25 AM
。应该是下午6:25

即使我设置了
show meridian=“false”
,它仍然显示
06:25

日期格式中的“Z”代表UTC。因此,根据当前的本地时区偏移,结果可能会有所不同

例如,我位于美国东海岸。天亮时 在这里可以看到节省,我的时区偏移量是UTC−04:00, 否则是UTC-05:00。对我来说,时间部分的结果 2012-04-23T18:25:43Z在子午线是:2:25pm1:25pm 取决于一年中的时间

检查下面的代码段,查看UTC值与特定于语言环境的计时器值的表示形式,该计时器值代表您的时区偏移量:

var-app=angular.module('demo',['ui.bootstrap']);
app.controller('MainCtrl',['$scope',函数($scope){
$scope.time='2012-04-23T18:25:43Z';
}]);
@import url('//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css')

{{time}}
您的本地时区偏移量为:UTC{{time | date:'Z'}


好的,这看起来没有什么不同,猜猜看,它没有:)我不知道你期望的输出是什么,但它确实起作用了。如果运行代码段,它将根据UTC时间18:25:43正确输出meridian中的时间。这意味着,例如,如果您在美国东部夏令时,它将显示:下午2:25(即当前夏令时距UTC的-4小时)。Z代表ISO格式的UTC。你可以在这里读到更多关于它的信息:好的,现在你明白了。在这种情况下,根本不需要执行
新日期('2012-04-23T18:25:43Z')
“2012-04-23T18:25:43Z”
的工作原理完全相同。是的,我提出这一建议的原因是,在你的问题中,你说你得到的结果是早上6:25。这似乎不太可能,因为AFAIK没有与-12小时UTC相对应的人口密集地区。我现在才想到,如果您只显示一个时间选择器,您可能在+12(例如,新西兰)并且可能不会注意到日期的变化。我将在将来为其他人更新答案。