【问题标题】:angularjs uib-timepicker is converting date to UTCangularjs uib-timepicker 正在将日期转换为 UTC
【发布时间】:2018-03-06 03:54:28
【问题描述】:

我有一个 AngularJs 应用程序,我正在尝试使用 uib-timepicker。我在控制器中创建了一个测试日期:

$scope.testdate = new Date("2000-01-01T09:00:00.000Z");

在我的 HTML 中,我有:

TESTDATE: {{testdate}}
<div uib-timepicker ng-model="testdate"></div>

TESTDATE: 显示为“2000-01-01T09:00:00.000Z”,这是我所期望的,但时间选择器显示为晚上 8:00。我假设这是因为我的 UTC 偏移量。为什么时间选择器更改时间而不使用系统时区?如何让 09:00am 时间出现在时间选择器中?

【问题讨论】:

    标签: angularjs bootstrap-datetimepicker


    【解决方案1】:

    如果您从 json/字符串日期中删除 Z (time zone designator),它将起作用。

    JS:

    $scope.testdate = new Date("2000-01-01T09:00:00.000");
    

    HTML:

    <div uib-timepicker ng-model="testdate"></div>
    

    检查PLUNKER DEMO

    【讨论】:

      【解决方案2】:

      您可以在您的时区中显示日期,如下所示:

      {{ date_expression | date : format : timezone}}
      

      where 参数如下:

      更多信息请访问链接here

      【讨论】:

      • uib-timepicker 中的时间显示不正确,而不是上面的输出行。
      • 你试过这样的吗? ng-model-options="{timezone: 'utc'}"
      • ng-model-options 似乎不起作用。时区应该是本地用户
      • 你能在这里写你的代码吗:plnkr.co/edit/tfVq3NLgjcuEIg3Nx96P?p=preview
      猜你喜欢
      • 2021-04-19
      • 2011-11-06
      • 2015-12-26
      • 2011-01-14
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多