如何使用Moment.js将UTC时间字符串转换为本地时间字符串?
解决UTC时间转本地时间的Moment.js实现问题
你的代码问题出在两处:
- 你先把moment对象
format成了字符串,之后再调用.local()方法——字符串没有这个方法,自然输出为空。 moment(str, 'HH:mm')默认是把字符串解析成本地时间,不是UTC时间,这和你的需求不匹配。
正确的实现步骤:
- 用
moment.utc()把输入的字符串解析为UTC时间 - 调用
.local()将UTC时间转换为本地时区的时间 - 最后用
format('HH:mm')输出格式化后的本地时间字符串
修正后的代码:
var str = "05:03"; var localTime = moment.utc(str, 'HH:mm').local().format('HH:mm'); console.log(localTime); // 输出对应本地时区的时间,比如东八区会显示13:03
这样就能正确把UTC的时分字符串转换成本地时间的时分字符串了。
内容的提问来源于stack exchange,提问作者mosid
相关产品推荐
相关产品推荐

