将日期和时间转换为UTC格式的日期-Javascript

将日期和时间转换为UTC格式的日期-Javascript,javascript,date,datetime,Javascript,Date,Datetime,我有两个变量,日期和时间 var date = "2012-12-05"; var time = "18:00"; 如何将其格式化为UTC格式的日期。这就是我可以在Facebook API中使用它的原因 Facebook声明我需要以下格式: 精确时间(例如,“2012-07-04T19:00:00-0700”):在特定时间点开始的事件,与UTC的特定偏移量。这是新的Facebook事件跟踪时间的方式,允许用户查看不同时区的事件 任何帮助都将不胜感激。。谢谢 此格式称为ISO 8601 你知道你

我有两个变量,日期和时间

var date = "2012-12-05";
var time = "18:00";
如何将其格式化为UTC格式的日期。这就是我可以在Facebook API中使用它的原因

Facebook声明我需要以下格式:

精确时间(例如,“2012-07-04T19:00:00-0700”):在特定时间点开始的事件,与UTC的特定偏移量。这是新的Facebook事件跟踪时间的方式,允许用户查看不同时区的事件


任何帮助都将不胜感激。。谢谢

此格式称为
ISO 8601

你知道你在哪个时区吗?如果您这样做,您可以这样做:

var datetime = date + 'T' + time + ":00+0000';
如果时区为+0。
若否,则:

var d = new Date()
var n = d.getTimezoneOffset();
var timeZone = Math.floor( Math.abs( n/60 ) );
var timeZoneString = (d.getTimezoneOffset() < 0 ? '-' : '+' ) + ( timeZone < 10 ? '0' + timeZone : timeZone ) + '00';

var datetime = date + 'T' + time + ':00' + timeZoneString;
var d=新日期()
var n=d.getTimezoneOffset();
var时区=数学楼层(数学绝对值(n/60));
var timeZoneString=(d.getTimezoneOffset()<0?'-':'+')+(时区<10?'0'+时区:时区)+'00';
var datetime=日期+T'+时间+00'+时区限制;
这里有一把小提琴:

试试下面的方法:

var date = new Date(2012, 12, 5, 18, 0, 0, 0); 
var date_utc = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(),  date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
Date
功能可通过以下方式使用:

var d = new Date();
var d = new Date(milliseconds);
var d = new Date(dateString);
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
这是从这里的一篇相关文章中摘取的:


要了解更多信息,请参阅:

有没有办法自动获取时区?有
getTimezoneOffset
功能:可能重复