moment-timezone:从一个时区转换为另一时区时未获得所需的时间

问题描述

我想将"2020-09-07T00:52:26.000Z"转换为07-09-2020 14:22:26,但是转换时没有得到所需的时间。

需要转换:亚洲/加尔各答到亚洲/香港

我尝试过:

const moment = require('moment-timezone');
var momentmm = moment("2020-09-07T00:52:26.000Z").utc();
var updatetimezone = moment.tz(momentmm,'Asia/Hong_kong').format();
console.log("1. After Convert timezone",updatetimezone)

结果:1​​.转换时区2020-09-07T08:52:26 + 08:00

var str = moment("2020-09-07T00:52:26.000Z").tz('Asia/Hong_kong').utc().format('DD-MM-YYYY HH:mm:ss');
console.log("2. After Convert timezone",str)

结果:2.转换时区之后07-09-2020 00:52:26

所需结果:

07-09-2020 14:22:26

解决方法

var on = new Date("2020-09-07T00:52:26.000Z");
var m = moment(on)
var str = moment(m).format('DD-MM-YYYY HH:mm:ss ZZ');
console.log(str)
console.log("Converted timezone",moment.tz(str,'Asia/Hong_Kong').format('DD-MM-YYYY HH:mm:ss'))

那样就可以了。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...