gpt4 book ai didi

javascript - 将带有时区的 unix 时间戳转换为 javascript 日期

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:33:50 29 4
gpt4 key购买 nike

我有一个遗留的网络应用程序,它将日期存储为 UNIX 时间戳(自 1970 年纪元以来的秒数)。通常像这样的时间戳代表 UTC,但这些时间戳是 UTC-8。看起来它从来没有考虑过夏令时 (DST)。我可以在服务器上将它转换为 UTC 并发送给客户端,但我想知道是否有仅 javascript 的解决方案。

示例输入:

1399335987

示例输出:

"2014-05-05T16:26:27-07:00" // Pacific Daylight Time (PDT)

客户端应根据其本地机器显示日期/时间。我研究了使用 momentjs但是我找不到如何从一个数字构造一个日期,而这个数字已经不是 UTC 了。这可能吗?

最佳答案

是的,这是可能的,因为 unix 时间戳是 UTC,Moment Timezone ( http://momentjs.com/timezone/ )

moment
.unix(1399335987)
.tz('MST')
.format('YYYY-MM-DDTHH:mm:ssZ');

你得到

  "2014-05-05T17:26:27-07:00"

注意这里我使用的是MST,你应该可以使用任何你想要的时区,通过Timezone Data Builder ( http://momentjs.com/timezone/data/ )

实际上,默认情况下,moment 会在本地时间进行解析和显示。

这意味着,只有当您处于不同的时区(实际上是偏移量)并且仍想获得 MST 的本地时间时,才需要将时区设置为 MST。

否则,moment.unix(1399335987).format('YYYY-MM-DDTHH:mm:ssZ') 就可以了。

关于javascript - 将带有时区的 unix 时间戳转换为 javascript 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23483787/

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