【问题标题】:How to convert "MM/DD/YYYY HH:mm" from one timezone to another?如何将“MM/DD/YYYY HH:mm”从一个时区转换为另一个时区?
【发布时间】:2019-07-11 00:42:00
【问题描述】:

我想将“01/14/2019 00:00”转换为另一个时区。但在此之前,我想将默认时区设置为 MST 为“01/14/2019 00:00”。稍后,如果我转换为 PST,它应该变成“01/13/2019 23:00”,因为 PST 比 MST 晚一小时。

我尝试了几个示例,但没有一个有效。也许我做错了什么。

moment("01/14/2019 00:00", "MM/DD/YYYY HH:mm").tz("美国/丹佛").format("MM/DD/YYYY HH:mm") ;

如果我这样做,它将转换为 MST。它不应该转换为 MST,但它应该假设日期时间在 MST 中并相应地转换。我也试过 setDefault 方法。

【问题讨论】:

  • tz 改变了语言环境,所以如果你需要从一个语言环境转换到另一个语言环境,首先设置你的输入语言环境,然后输入日期时间,然后设置你的输出语言环境,并得到你的格式化字符串

标签: javascript momentjs


【解决方案1】:

你已经尝试了 moment.tz.setDefault(String);有时区吗?

你现在用的是什么版本?

要使用 moment-timezone,您需要 moment@2.9.0+、moment-timezone.js 和 moment-timezone 数据。

【讨论】:

  • 我正在使用 moment 2.9.0 和 moment-timezone.js。如何在特定日期时间设置默认时区?
  • 感谢它的工作。但它在全球范围内设置默认值。如何仅针对特定情况进行设置?
【解决方案2】:

尝试使用 npm 中的 moment-timezonenpm install moment-timezone

var moment = require('moment-timezone');
moment().tz("America/Los_Angeles").format();

查看文档以获取帮助 https://momentjs.com/timezone/docs/

【讨论】:

    猜你喜欢
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多