gpt4 book ai didi

javascript - Angular/javascript html 输入类型 'time' 在提交时显示错误时间

转载 作者:行者123 更新时间:2023-12-02 14:38:02 25 4
gpt4 key购买 nike

我面临一个奇怪的问题。

在我的表单中,我使用 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>

在我的 Controller 中我设置了我的模型:

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

并在 View 中显示输入中的正确时间 - 当前时间(参见屏幕截图)enter image description here

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

它显示了这个:

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

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

最佳答案

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

关于javascript - Angular/javascript html 输入类型 'time' 在提交时显示错误时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com