【问题标题】:UTC to CST Conversion using moment.js [duplicate]使用 moment.js 将 UTC 转换为 CST [重复]
【发布时间】:2021-02-09 07:23:26
【问题描述】:

我正在尝试使用 moment.js 将 UTC 时间的事件开始日期转换为美国/芝加哥时间

开始日期的给定输入是'2021-02-10T03:05:00Z'。

我正在尝试将该输入转换为中部标准时间晚上 9:00 的开始时间“2012-02-09”。

感谢任何输入!

【问题讨论】:

标签: javascript momentjs moment-timezone


【解决方案1】:

你需要做的就是像这样设置时区

var moment = require('moment-timezone');
moment('2021-02-10T03:05:00Z').tz("America/Los_Angeles").format('LL');

时区不是您要查找的,要获取时区名称列表,您需要致电moment.tz.zonesForCountry('US');

它应该会为您提供您所在国家/地区的所有时区列表,然后您只需为芝加哥选择正确的时区,然后您可以按照您希望的方式对其进行格式化。

【讨论】:

  • 感谢您的回复!所以我这样做了moment('2021-02-10T03:05:00Z').tz("America/Chicago").format(),它给了我2021-02-10T03:05:00-06:00,希望它能给我这个日期 2012-02-09 晚上 9 点
  • 您是否导入了 moment-timezone 而不是 moment
  • 是的,需要 moment-timezone 而不是 moment 并且做了 moment('2021-02-10T03:05:00Z').tz("America/Chicago").format('LL') 并产生 February 10, 2021
  • 也许可以这样尝试 => moment.tz('2021-02-10T03:05:00Z', "America/Chicago").format('LLLL') 两种方式都适合我,如果这种方式适合你,我会更正我的答案。
【解决方案2】:

您可以为此使用moment-timezone。这是工作代码示例。

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.7/moment-timezone-with-data-2010-2020.min.js"></script>

<div id="utc-time">09/02/2021 12:40:35 PM</div>
<div id="cst-time"></div>
<div id="aus-time"></div>

var dt = document.getElementById("utc-time").innerHTML;  
var m = moment.utc(dt, "DD-MM-YYYY h:mm:ss A"); // parse input as UTC
console.log(m.clone().local().format("DD-MM-YYYY h:mm:ss A")); // local time
document.getElementById("utc-time").innerHTML = m.clone().local().format("DD-MM-YYYY h:mm:ss A (Z)");
var tz = 'America/New_York'; // timezone value, you can use moment.tz.guess() for automatic detection
document.getElementById("cst-time").innerHTML = m.clone().tz(tz).format("DD-MM-YYYY h:mm:ss A (Z)");
tz = 'Australia/Perth'; // test another timezone
document.getElementById("aus-time").innerHTML = m.clone().tz(tz).format("DD-MM-YYYY h:mm:ss A (Z)");

工作小提琴: https://jsfiddle.net/9c2f068z/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-21
    • 2021-04-10
    • 2018-11-08
    • 2018-07-01
    • 2014-06-11
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多