gpt4 book ai didi

node.js - momentjs 从另一个时区将日期时间转换为 UTC

转载 作者:IT老高 更新时间:2023-10-28 23:07:23 24 4
gpt4 key购买 nike

我有如下日期:

2014 年 5 月 30 日上午 11:21:37

我的用户将输入该数据并拥有自己的时区。它可能是“美国/东部”、“美国/太平洋新”等。我想将时间转换为 UTC,但我做不到。有办法吗?

我正在使用 Node ,我尝试了 momentJS 并阅读以下内容:

http://momentjs.com/docs/

http://momentjs.com/guides/

Convert date to another timezone in JavaScript

如何从不同的时区转换为 UTC?

编辑

我试过这些:

moment().utc(0).format('YYYY-MM-DD HH:mm Z')
moment.tz(dateString, "US/Eastern").format()

在上面的例子中,dateString 是字符串日期。我想将时区设置为“美国/东部”并将其转换为 UTC。

最佳答案

// your inputs
var input = "05/30/2014 11:21:37 AM"
var fmt = "MM/DD/YYYY h:mm:ss A"; // must match the input
var zone = "America/New_York";

// construct a moment object
var m = moment.tz(input, fmt, zone);

// convert it to utc
m.utc();

// format it for output
var s = m.format(fmt) // result: "05/30/2014 3:21:37 PM"

请注意,我使用了与输入格式相同的输出格式 - 如果您愿意,可以改变它。

如果您愿意,也可以在一行中完成所有操作:

var s = moment.tz(input, fmt, zone).utc().format(fmt);

另外,请注意我使用的是地区/地区格式 (America/New_York),而不是旧的 US/Eastern 样式。这应该是首选,因为 US/* 只是为了向后兼容。

此外,永远不应使用 US/Pacific-New。它现在与 US/Pacific 相同,都只是指向 America/Los_Angeles。有关此历史的更多信息,see the tzdb sources .

关于node.js - momentjs 从另一个时区将日期时间转换为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37534398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com