将日期时间选择器转换为UTC时间

8
我试图标准化数据库从引导时期日期表单获取的时间,但是我得到了以下错误
未捕获的类型错误:e.date.getTime不是函数
当我打印出e.date时,它是Wed Jul 15 2015 16:30:51 GMT+1200
我正在尝试遵循这个指南,但我已经改变了一些东西才能做到这一点。 http://jsfiddle.net/TC6Gr/37/
$('#start_time').datetimepicker({
    format: 'DD-MM-YYYY h:mm:ss a',
}).on("dp.change", function (e) {
    alert(e.date);
    $('#start-time-before').html(e.date); // Log
    var TimeZoned = new Date(e.date.setTime(e.date.getTime() + (e.date.getTimezoneOffset() * 60000)));
    $('#end_time').datetimepicker('setStartDate', TimeZoned);
    $('#start_time').datetimepicker('setDate', TimeZoned);
    $('#start-time-adjusted').html(TimeZoned); // Log
});

你使用哪种语言连接数据库? - toing_toing
或者你可以在服务器端完成这个操作。 - gugabguerra
为什么你将事件设置为 dp.change 而不是 changeDate - lofihelsinki
3个回答

1
使用这行代码。
new Date("2018/10/10 09:27");

这可以创建一个日期对象。您将使用UTC时间戳返回日期对象的getTime()或valueOf()函数。

0

这是否达到了你想要做的效果?

更改此行:

$('#start-time-adjusted').html(TimeZoned);

转为:

$('#start-time-adjusted').html(TimeZoned.toUTCString());

0

你应该尝试这个。

 var offset = e.date.getTimezoneOffset() * 60000;
 var now = e.date.getTime();
 var utc = now + offset;
 var TimeZoned = new Date(utc);

要计算UTC时间,您需要减去偏移量。https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC - H.Rabiee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接