【问题标题】:javascript timezone conversion using momentjs使用 momentjs 的 javascript 时区转换
【发布时间】:2022-01-19 08:45:01
【问题描述】:

我有一个 UTC 日期和时间和一个时区,我想将此日期和时间转换为给定的时区等价物,例如如果 UTC 日期是 2022-01-10T00:00:00.000Z ,这意味着 10 Jan 00:00 am 并且当我将其转换为纽约时区时,等效输出应为 2022-01-09T19:00:00.000Z 是 1 月 9 日下午 7:00 或 19:00,因为它距离 UTC 有 -05:00 小时。 我怎么能做到这一点有人可以帮忙吗? 时区可以是任何时区。 感谢您的帮助。

like 
let date= '2022-01-10T00:00:00.000Z';
let timezone = 'America/New_York';

【问题讨论】:

  • 到目前为止,您尝试了哪些方法来自行解决此问题? momentjs 的documentation 总是一个很好的起点
  • 谢谢 Andreas 我已经尝试了一些并按照您提到的文档进行操作,但没有得到预期的结果。这就是我在这里发帖的原因。
  • 然后展示您的尝试,我们将帮助您解决该问题。现在你的问题只是“请给我解决方案”这不是 SO 的意义所在 -> What topics can I ask about here?, How do I ask a good question?, minimal reproducible example

标签: javascript datetime timezone momentjs


【解决方案1】:

你可以像这样使用moment-timezone

const moment = require('moment-timezone')

const date = '2022-01-10T00:00:00.000Z';
const timezone = 'America/New_York';

const convertedDate = moment.utc(date)  // create Moment object from date in UTC
  .tz(timezone)                        // convert to provided time zone
  .format('YYYY-MM-DD hh:mm:ss A')    // display in format

console.log(convertedDate)
// 2022-01-09 07:00:00 PM

【讨论】:

    猜你喜欢
    • 2014-10-17
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多