gpt4 book ai didi

javascript - 如何使用 moment.js 在特定时区创建时间

转载 作者:行者123 更新时间:2023-12-01 11:30:03 24 4
gpt4 key购买 nike

我有这个后端,它在设定的时区向我发送预先格式化的时间,但没有关于所述时区的任何信息。字符串就像:“2013-08-26 16:55:00”。

我可以用这个字符串创建一个新的 moment.js 实例:

var time = moment("2013-08-26 16:55:00") //this creates time in my tz

但这只会在我自己的时区创建一个实例。

Moment.js 有一个插件,可以在特定时区创建对象的实例,效果很好,但我不能说我希望对象指向什么时间。

如果我在纽约并且我这样做:

var time = moment("2013-08-26 16:55:00").tz("America/Los_Angeles");

结果时间将是 13:55 而不是 16:55,但在洛杉矶。

我想要的是创建一个会说 16:55 的实例,但在洛杉矶时间。

我问的原因是因为我想这样做:

var now = moment.tz("America/Los_Angeles");
var end = moment("2013-08-26 16:55:00"); //plus something to convert LA time

var timeLeft = end.diff(now, "minutes");

有没有办法做到这一点?

最佳答案

在大多数情况下,您可以简单地这样做:

moment.tz("2013-08-26 16:55:00", "America/Los_Angeles")

如果您需要 ISO8601 以外的输入,则将格式字符串指定为第二个参数,将时区指定为第三个参数:
moment.tz("8/26/2013 4:55 pm", "M/D/YYYY h:mm a", "America/Los_Angeles")

如果你需要使用 moment 的“严格解析”模式,那么就进入第三个参数,时区移动到第四个位置:
moment.tz("8/26/2013 4:55 pm", "M/D/YYYY h:mm a", true, "America/Los_Angeles")

关于javascript - 如何使用 moment.js 在特定时区创建时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18448347/

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