。 谢谢。
几乎像Node.js - 如何在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")
等,等等,但没有一个有效。 请帮忙
像这样的东西?
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}`)
}