在js / jquery中将datetime-local转换为UTC时间

时间:2017-12-07 22:21:09

标签: javascript jquery html datetime

我有一个用户可以输入日期时间的表单

<input class="form-control" name="aution_end_time" required type="datetime-local id="auction_end_time-input">

现在我想做的是将这个“本地日期时间对象”转换为UTC时间并将该值存储在表单的隐藏输入中。

<input type="hidden" class="form-control" name="auction_end_time_utc">

我该怎么做? 总结一下: 用户在表单中输入日期时间,然后一旦他们这样做,隐藏的输入将使用相同的日期时间但以UTC格式更新。我不确定如何确定用户本地时区以及如何转换为UTC。谢谢!

1 个答案:

答案 0 :(得分:0)

我建议使用moment.js

请参阅我的代码段!我将type="hidden"更改为type="text"并将name更改为id以获取第二个输入以用于演示目的。

&#13;
&#13;
document.getElementById("auction_end_time-input").oninput = function() {
  var datetimeLocal = document.getElementById("auction_end_time-input").value;
  var datetimeUTC = moment.utc(datetimeLocal).format();
  document.getElementById("auction_end_time_utc").value = datetimeUTC;
}
&#13;
<!-- moment.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.3/moment-with-locales.min.js"></script>

<input class="form-control" name="aution_end_time" required type="datetime-local" id="auction_end_time-input">
<input type="text" class="form-control" id="auction_end_time_utc">
&#13;
&#13;
&#13;