我有两个变量,date&时间...
var date = "2012-12-05";
var time = "18:00";
如何将其格式化为UTC格式的日期。这是我可以在Facebook API中使用它..
Facebook表示我需要这种格式:
精确时间(例如,'2012-07-04T19:00:00-0700'):在特定时间点开始的事件,与UTC的特定偏移量。这是新Facebook事件跟踪时间的方式,并允许用户查看不同时区的事件。
任何帮助都将非常感谢..谢谢!
答案 0 :(得分:1)
此格式称为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;
这是一个小提琴:http://jsfiddle.net/ajySr/
答案 1 :(得分:1)
尝试以下方法:
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);
这是从相关帖子中获取的:How do you convert a JavaScript date to UTC?
如需了解更多信息,请参阅:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date