【问题标题】:angular/javascript html input type 'time' shows wrong time on submitangular/javascript html 输入类型“时间”在提交时显示错误时间
【发布时间】:2016-05-17 01:25:48
【问题描述】:

我遇到了一个奇怪的问题。

在我的表单中,我使用 2 个输入,类型为“时间”:

<div style="float:left;width:50%;">
  <div style="background:#efefef;!important;line-height:30px;font-size:14px;text-transform: uppercase;text-align:center;border:none">
     Start time
     <input type="time" name="start_time" formatted-time ng-model="editFields.disable_freelance_start_time" style="width:100%;border:1px solid #ccc;border-right:none;margin-bottom:10px;padding:5px;" />
  </div>
</div>
<div style="float:left;width:50%">
  <div style="background:#efefef;!important;line-height:30px;font-size:14px;text-transform: uppercase;text-align:center;border:none;border-left:2px solid #ccc">
   End time
   <input type="time" name="end_time" formatted-time  ng-model="editFields.disable_freelance_end_time" style="width:100%;border:1px solid #ccc;border-left:none;margin-bottom:10px;padding:5px;" />
  </div>
</div>

并在我的控制器中设置我的模型:

    $scope.editFields.disable_freelance_start_time = new Date();
    $scope.editFields.disable_freelance_end_time = new Date();

并在视图中显示输入中的正确时间 - 当前时间(见截图)

但是当我“提交表格”并检查它显示错误值的对象时 - 时间是 2 小时..(我住在阿姆斯特丹,也许有夏令时?)

它显示了这个:

[start_time] => 2016-05-17T01:21:56.382Z
[end_time] => 2016-05-17T01:21:56.382Z

所以它显示 1:21 但现在是 03:21 -- 为什么会发生这种情况,我该如何解决这个问题?

【问题讨论】:

  • 正常,获取TimeZoneOffset,以分钟为单位,可以手动计算。
  • 注意时区是 Z 或 GMT。阿姆斯特丹是 GMT+0200,2016-05-17T01:21:56.382Z2016-05-17T03:21:56.382+0200 是同一时刻。
  • 我明白,但我把它发送到我的 php 后端,我把它作为一个字符串。我应该在php中处理这个吗?
  • 能否提供formattedTime指令代码?您尝试存储来自客户端浏览器的 Date 对象

标签: javascript angularjs html date time


【解决方案1】:

输入选择框将位于浏览器当前的本地时区。提交时,它将其转换为 UTC。这通常通过在服务器和数据库中接受和存储 UTC 时间来处理。

【讨论】:

    【解决方案2】:

    您的时区似乎有问题。这个问题也有我。我已经用 Mooment.js 解决了它。 我的解决方案使用 Mooment.js http://momentjs.com/

    【讨论】:

    • 答案不应需要不在问题中或未标记的库。此外,答案实际上应该包含答案,而不是使用库的建议。
    • @RobG。谢谢我添加示例
    猜你喜欢
    • 2023-03-27
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多