Javascript 从当前日期获取GMT字符串

Javascript 从当前日期获取GMT字符串,javascript,date,gmt,datejs,Javascript,Date,Gmt,Datejs,我能够得到我需要的输出格式,但不是正确的时间。我需要格林尼治标准时间(即+4小时) 有什么想法吗?输出如下所示: 20120403031408 我可以通过以下操作获得标准字符串格式的GMT: dt.toUTCString(); 但我无法将其转换回yyyyMMddhhmmss字符串 编辑:我正在使用date.js库关键是使用getUTC函数: /*将函数用于所需的精确格式…*/ 函数ISODateString(d){ 功能板(n){返回n

我能够得到我需要的输出格式,但不是正确的时间。我需要格林尼治标准时间(即+4小时)

有什么想法吗?输出如下所示:

20120403031408
我可以通过以下操作获得标准字符串格式的GMT:

dt.toUTCString();
但我无法将其转换回yyyyMMddhhmmss字符串


编辑:我正在使用date.js库

关键是使用
getUTC
函数:

/*将函数用于所需的精确格式…*/
函数ISODateString(d){
功能板(n){返回n<10?'0'+n:n}
返回d.getUTCFullYear()+'-'
+pad(d.getUTCMonth()+1)+'-'
+pad(d.getUTCDate())+'T'
+pad(d.getUTCHours())+':'
+pad(d.getUTCMinutes())+':'
+pad(d.getUTCSeconds())+Z
}  
var d=新日期();
console.log(ISODateString(d));//打印类似于2009-09-28819:03:12Z的内容
date.js
在格式化日期时没有指定“UTC”的选项。(在文件底部)从不引用任何
日期
,这是支持此选项所必需的

你可以考虑使用不同的库,比如Steven Levithan的。使用它,您可以在
格式
前面加上
UTC:
,或者在
格式
后面加上
true

var utcFormatted = dateFormat(new Date(), 'UTC:yyyyMMddhhmmss');
var utcFormatted = dateFormat(new Date(), 'yyyyMMddhhmmss', true);

// also
var utcFormatted = new Date().format('yyyyMMddhhmmss', true);

您还可以编写自己的函数,如。

您使用什么库或脚本来获取
toString(format)
?不承认任何论点。抱歉,我正在使用date.js。编辑问题以反映这一点。与史蒂文·莱维坦的图书馆合作得很好。非常感谢。
/* use a function for the exact format desired... */  
function ISODateString(d){  
  function pad(n) { return n < 10 ? '0'+n : n }
  return d.getUTCFullYear() + '-'  
       + pad(d.getUTCMonth() +1) + '-'  
       + pad(d.getUTCDate()) + 'T'  
       + pad(d.getUTCHours()) + ':'  
       + pad(d.getUTCMinutes()) + ':'  
       + pad(d.getUTCSeconds()) + 'Z'  
}  

var d = new Date();  
console.log(ISODateString(d)); // prints something like 2009-09-28T19:03:12Z  
var utcFormatted = dateFormat(new Date(), 'UTC:yyyyMMddhhmmss');
var utcFormatted = dateFormat(new Date(), 'yyyyMMddhhmmss', true);

// also
var utcFormatted = new Date().format('yyyyMMddhhmmss', true);