使用Moment.js将UTC转换为中部时间(美国/芝加哥) [英] Converting from UTC to Central Time ('America/Chicago') using moment.js

查看:26
本文介绍了使用Moment.js将UTC转换为中部时间(美国/芝加哥)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我认为此指令应该可以正确地从UTC转换为CST,但似乎差了一个小时

moment.utc('07-18-2013 16:10:11', 'MM-DD-YYYY HH:mm').tz('America/Chicago').format("YYYY-MM-DD HH:mm");

它在应该返回的时间返回2013-07-18 11:102013-07-18 10:10

我是否遗漏了什么?

编辑:如果打印缩写时区,得到的是CDT而不是CST。如何指定CST?

推荐答案

您的代码是正确的,正如VincenzoC在注释中指出的那样,dst当时正在生效,这就是为什么您会得到这样的结果。

您使用的是America/Chicago,字面意思是芝加哥的时间。它代表了整个美国中部时区。在美国没有任何地方使用中部时间而不使用夏令时,因此要求这样做是毫无意义的/无效的。

如果您确实不是指的是美国中部时间,您的其他选项将是:

  • 选择正确的时区。

    .tz('America/Regina')        // Saskatchewan, Canada     (UTC-6 all year)
    .tz('America/Tegucigalpa')   // Honduras, South America  (UTC-6 all year)
    
  • 使用固定偏移量而不是时区。(为此您不需要Moment-TimeZone外接程序。)

    .utcOffset('-06:00')
    

这篇关于使用Moment.js将UTC转换为中部时间(美国/芝加哥)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆