Momentjs时区-在特定时区的时间获取日期

埃里克·H

我正在尝试使用用户的特定时区(在本例中为“美国/洛杉矶”)从UTC基准中创建日期,方法是使用momentjs / momentjs时区。但是,我没有得到我期望的结果:

var tempDate = moment(1448841600000); //moment("2015-11-30"); //monday 11/30 in UTC
var adjustedStart = moment.tz(tempDate, "America/Los_Angeles");
adjustedStart.hour(9);
adjustedStart.minute(30);
console.log("adjustedStart in milliseconds:" + adjustedStart.valueOf());

控制台输出为1448875800000,在UTC / GMT中是11/30/15 9:30 AM,我期望的是1448904600000,在太平洋海岸时间是11/30/15 9:30 AM。如何将此开始日期转换为用户所在时区的正确时间?

马特·约翰逊·品特

是的,1448841600000你说的日期是:

moment(1448841600000).utc().format()
// "2015-11-30T00:00:00+00:00"

但这是太平洋时间的前一天

moment(1448841600000).tz('America/Los_Angeles').format()
// "2015-11-29T16:00:00-08:00"

当您将其调整为9:30太平洋时,它位于29号,而不是30号。

moment(1448841600000).tz('America/Los_Angeles').hour(9).minute(30).format()
// "2015-11-29T09:30:00-08:00"

当您致电时valueOf,结果为:

moment(1448841600000).tz('America/Los_Angeles').hour(9).minute(30).valueOf()
// 1448818200000

这是正确的值,但是与您提供的值不同。但是,这确实是我在运行您的代码时得到的。

Chrome调试窗口的屏幕截图,其中包含您的确切代码:

截屏

另外,您在评论中写道:

//moment("2015-11-30"); //monday 11/30 in UTC

实际上,这将是本地时间,而不是UTC。如果要使用UTC,可以使用:

moment.utc("2015-11-30")

虽然我不清楚您是使用此字符串输入还是数字时间戳。

如果您要问的是希望将UTC日期视为本地日期,然后应用任意本地时间-这是一个有点奇怪的操作,但是它将如下所示:

var tempDate = moment.utc(1448841600000);
var adjustedStart = moment.tz([tempDate.year(), tempDate.month(), tempDate.date(), 9, 30],
                                                                  "America/Los_Angeles");
console.log("adjustedStart in milliseconds:" + adjustedStart.valueOf());
// adjustedStart in milliseconds:1448904600000

这给出了您所要求的价值,但对我来说-这是一种气味,说明期望有问题。我将在需求和系统的其他部分上仔细观察。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 PHP 获取特定时间的时区

来自分类Dev

MomentJS toISOString与本地时区

来自分类Dev

在MomentJS中设置时区

来自分类Dev

momentjs toDate()-时区重置

来自分类Dev

时区的MomentJS问题

来自分类Dev

如何获取带有UTC日期时间和特定时区的DateTime?

来自分类Dev

我如何从互联网获取日期时间到我的特定时区?

来自分类Dev

Moment JS在特定时区中创建日期时间

来自分类Dev

MomentJS:如何将特定时区和特定格式的时间转换为毫秒

来自分类Dev

MomentJS:在给定时区的星期几

来自分类Dev

我可以获取特定时区的时间戳吗?

来自分类Dev

Java-未获取特定时区的时间戳

来自分类Dev

在特定时区django中获取当前日期

来自分类Dev

如何获取特定时区中一天中特定时间的纪元时间?

来自分类Dev

MomentJS设置时区而不更改时间

来自分类Dev

MomentJS:比较不同时区的时间

来自分类Dev

使用MomentJs显示日期时间而不进行时区转换

来自分类Dev

动作3:获取到特定时区的时间(而不是计算机所在的时区)

来自分类Dev

我如何使用momentjs从时间戳获取时区缩写?

来自分类Dev

如何表达特定时区的时间?

来自分类Dev

如何在特定时区设置日期?

来自分类Dev

特定时区的TIMESTAMPDIFF

来自分类Dev

将用户指定的日期和时间(使用mktime转换)调整为特定时区

来自分类Dev

将字符串转换为特定时区的日期时间

来自分类Dev

Laravel将时间戳转换为具有特定时区的日期

来自分类Dev

在python中获取特定时间和时区的偏移量

来自分类Dev

获取节点js服务器上特定时区的当前时间

来自分类Dev

如何在Telethon事件处理程序中获取特定时区的时间

来自分类Dev

使用java.util.TimeZone获取特定时区的当前时间

Related 相关文章

  1. 1

    使用 PHP 获取特定时间的时区

  2. 2

    MomentJS toISOString与本地时区

  3. 3

    在MomentJS中设置时区

  4. 4

    momentjs toDate()-时区重置

  5. 5

    时区的MomentJS问题

  6. 6

    如何获取带有UTC日期时间和特定时区的DateTime?

  7. 7

    我如何从互联网获取日期时间到我的特定时区?

  8. 8

    Moment JS在特定时区中创建日期时间

  9. 9

    MomentJS:如何将特定时区和特定格式的时间转换为毫秒

  10. 10

    MomentJS:在给定时区的星期几

  11. 11

    我可以获取特定时区的时间戳吗?

  12. 12

    Java-未获取特定时区的时间戳

  13. 13

    在特定时区django中获取当前日期

  14. 14

    如何获取特定时区中一天中特定时间的纪元时间?

  15. 15

    MomentJS设置时区而不更改时间

  16. 16

    MomentJS:比较不同时区的时间

  17. 17

    使用MomentJs显示日期时间而不进行时区转换

  18. 18

    动作3:获取到特定时区的时间(而不是计算机所在的时区)

  19. 19

    我如何使用momentjs从时间戳获取时区缩写?

  20. 20

    如何表达特定时区的时间?

  21. 21

    如何在特定时区设置日期?

  22. 22

    特定时区的TIMESTAMPDIFF

  23. 23

    将用户指定的日期和时间(使用mktime转换)调整为特定时区

  24. 24

    将字符串转换为特定时区的日期时间

  25. 25

    Laravel将时间戳转换为具有特定时区的日期

  26. 26

    在python中获取特定时间和时区的偏移量

  27. 27

    获取节点js服务器上特定时区的当前时间

  28. 28

    如何在Telethon事件处理程序中获取特定时区的时间

  29. 29

    使用java.util.TimeZone获取特定时区的当前时间

热门标签

归档