2017-02-11 76 views
-1

此问题可能以前已经提过多次,但我似乎无法找到任何相关信息,因此想知道您中的任何人都可以给我一些建议。bootstrap datetimepicker,无法将日期和时间转换为UTC

我用引导的DateTimePicker创建一个工具,我遇到这样的问题该我输入的日期和时间是无法通过moment.js转换为UTC时间下

代码:

$(document).ready(function() 
{ 
    $('#select').datetimepicker({ 
     format: 'ddd, MM-DD hh:mm A' 
    }); 
    $('#select').on('dp.change', function (e) { 
     $('#example').text(moment(e.date).format("ddd, MM-DD, h:mm A")); 
    }); 

}); 

<div class='col-md-5'> 
    <div class="form-group"> 
     <div class='input-group date' id='select'> 
     <input type='text' class="form-control" /> 
      <span class="input-group-addon"> 
       <span class="glyphicon glyphicon-calendar"></span> 
      </span> 
     </div> 
    </div> 
</div> 

<span id="example">__________</span> 

当选择该值时,输出与您所选择的相同,而不是自动转换为UTC。任何帮助指出我做错了什么,将不胜感激!

+0

这里的假设是要转换*从本地时间*为UTC。如果你的意思是别的,请澄清。 –

+0

您好@马特约翰逊 - 感谢您的信息在这里。你的回答非常有趣,我想知道更多,希望你能举一些例子。假设我希望选择时间总是纽约时间,无论用户属于哪个时区,并转换为UTC。我怎样才能达到目标。我看了一眼当时的文件,但不能更好地了解如何。任何帮助将不胜感激! –

+0

您需要安装moment-timezone,然后将datepicker上的'timeZone'选项设置为''America/New_York''。请参阅[bootstrap-datetimepicker文档的这一部分](https://github.com/Eonasdan/bootstrap-datetimepicker/blob/master/docs/Options.md#timezone)。 –

回答

0

现在,你正在使用.format()显示您所选择的日期和传递到它从日期选取你需要相同的价值观。

如果你想UTC格式,不要使用moment().format()但使用moment.utc().format()

见moment.js文档here

1

随着moment.js您可以将日期转换为utc,然后格式化它像

$('#example').text(moment(e.date).utc().format("ddd, MM-DD, h:mm A")); 
+0

为您解决了这个问题。它之前没有转换。 –

相关问题