如何在 javascript 中将 ISOString 转换为本地 ISOString?
我有ISO 8086样式字符串(例如 '2013-02-18T16:39:17+00:00')
我想将其转换为本地 ISO_8601 样式字符串...
'2013-02-18T16:39:17+00:00' -> '2013-02-19T01:39:17+09:00'
我应该怎么办?
如何在 javascript 中将 ISOString 转换为本地 ISOString?
我有ISO 8086样式字符串(例如 '2013-02-18T16:39:17+00:00')
我想将其转换为本地 ISO_8601 样式字符串...
'2013-02-18T16:39:17+00:00' -> '2013-02-19T01:39:17+09:00'
我应该怎么办?
只有一种.toISOString()
方法,但不会使用本地时区。为此,您需要自己格式化字符串:
function toLocaleISOString(date) {
function pad(n) { return ("0"+n).substr(-2); }
var day = [date.getFullYear(), pad(date.getMonth()+1), pad(date.getDate())].join("-"),
time = [date.getHours(), date.getMinutes(), date.getSeconds()].map(pad).join(":");
if (date.getMilliseconds())
time += "."+date.getMilliseconds();
var o = date.getTimezoneOffset(),
h = Math.floor(Math.abs(o)/60),
m = Math.abs(o) % 60,
o = o==0 ? "Z" : (o<0 ? "+" : "-") + pad(h) + ":" + pad(m);
return day+"T"+time+o;
}