几乎像Node.js - How to format a date string in UTC一样 以下是我想要的格式(两者):
var x = new Date();
console.log(x);
var u = x.toISOString();
console.log(u);

但是,输出是UTC时区&格式(由尾随Z表示),而
我只需要在当地时区。怎么做?
我已经尝试了.toLocaleDateString()
,toLocaleTimeString()
,toLocaleFormat("%Y-%m-%d %H:%M:%S")
,toString("yyyyMMddHHmmss")
等等,但没有一个正在运作。请帮助。谢谢。
答案 0 :(得分:0)
这样的东西?
function formatLocal(d) {
// tzo is minutes, and signed opposite of the
// usual -06:00 or +03:00 format you're used to
const tzo = d.getTimezoneOffset()
// get hours offset
let tzH = Math.floor(Math.abs(tzo / 60))
// get minutes offset
let tzM = tzo % 60
// pad and negate accordingly
tzH = (tzH < 10) ? `0${tzH}` : tzH
tzH = (tzo > 0) ? `-${tzH}` : tzH
tzM = (tzM < 10) ? `0${tzM}` : tzM
// replace Z with timezone offset
return d.toISOString().replace('Z', `${tzH}:${tzM}`)
}