我能够得到我需要的输出格式,但不是正确的时间。我在格林威治标准时间需要它(即 +4 小时)
var dt = new Date();
var dt2 = dt.toString('yyyyMMddhhmmss');
有任何想法吗?输出如下所示:
20120403031408
我可以通过执行以下操作以标准字符串格式获取 GMT:
dt.toUTCString();
但我无法将其转换回 yyyyMMddhhmmss 字符串
编辑:我正在使用 date.js 库
我能够得到我需要的输出格式,但不是正确的时间。我在格林威治标准时间需要它(即 +4 小时)
var dt = new Date();
var dt2 = dt.toString('yyyyMMddhhmmss');
有任何想法吗?输出如下所示:
20120403031408
我可以通过执行以下操作以标准字符串格式获取 GMT:
dt.toUTCString();
但我无法将其转换回 yyyyMMddhhmmss 字符串
编辑:我正在使用 date.js 库
关键是使用getUTC
功能:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
/* 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
date.js
'stoString(format)
在格式化日期时没有指定“UTC”的选项。方法本身(在文件的底部)从不引用任何' Date
sgetUTC...
方法,这是支持此类选项所必需的。
您可以考虑使用不同的库,例如 Steven Levithan 的dateFormat
. 有了它,您可以在format
with 前面加上前缀,或者在 :之后UTC:
传递:true
format
var utcFormatted = dateFormat(new Date(), 'UTC:yyyyMMddhhmmss');
var utcFormatted = dateFormat(new Date(), 'yyyyMMddhhmmss', true);
// also
var utcFormatted = new Date().format('yyyyMMddhhmmss', true);
您也可以编写自己的函数,正如Dominic 演示的那样。