javascript - 日期时间从 UTC 转换为其他时区

标签 javascript datetime momentjs

我正在使用下面的代码将日期时间转换为美国/芝加哥,但转换时间错误。

process.env.TZ = "UTC";
var moment = require('moment-timezone');
var startTime = (new Date('2016-04-08 17:40:04')).toISOString();s
var newDateTime = moment(startTime);
var newDateTime = newDateTime.tz('America/Chicago').format('YYYY-MM-DD HH:MM:ss a');
console.log(newDateTime); // expected 2016-04-08 12:40:04 PM
                          // getting  2016-04-08 12:04:04 pm

最佳答案

您使用了错误的格式字符串,MM 表示月份数字,您需要使用mm - 分钟 .

var newDateTime = newDateTime.tz('America/Chicago').format('YYYY-MM-DD HH:mm:ss a');

Documentation

关于javascript - 日期时间从 UTC 转换为其他时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36546320/

相关文章:

javascript - 改变对插入值(value)的关注

javascript - 如何在 IE9 中使用 JavaScript 重置/删除样式属性?

python - 在 Python 中添加和比较日期时间

angular - 在 Angular 7 中使用 moment 时出现错误 :TypeError: moment is not a function

javascript - 将 JS 对象与 HTML ID 相关联

javascript - 如何为 matchPath 返回值设置 typescript 类型

java - 如何仅解析四位数年份(使用 Joda Time)?

sql-server - 选择在一个时间间隔内至少登录 3 次的所有客户

javascript - 使用 moment.js 解析时如何忽略时区

javascript - 刻不加日