我有一个用户可以输入日期时间的表单
<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。谢谢!
答案 0 :(得分:0)
我建议使用moment.js。
请参阅我的代码段!我将type="hidden"
更改为type="text"
并将name
更改为id
以获取第二个输入以用于演示目的。
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;