gpt4 book ai didi

javascript - 如何将 UTC 日期/时间转换为 EST 日期/时间

转载 作者:数据小太阳 更新时间:2023-10-29 05:05:55 34 4
gpt4 key购买 nike

我正在使用以下代码以正确的格式获取当前的 UTC 时间,但客户返回并要求时间戳现在使用 EST 而不是 UTC。我搜索了 Google 和 stackoverflow,但找不到适用于我现有代码的答案。

var currentdate = new Date(); 
var datetime = currentdate.getFullYear() + ":"
+ ("0" + (currentdate.getUTCMonth()+1)).slice(-2) + ":"
+ ("0" + currentdate.getUTCDate()).slice(-2) + ":"
+ ("0" + currentdate.getUTCHours()).slice(-2) + ":"
+ ("0" + currentdate.getUTCMinutes()).slice(-2) + ":"
+ ("0" + currentdate.getUTCSeconds()).slice(-2);

我们正在尝试做的是将一致的时间戳设置为 EST,而不管浏览器位于世界的哪个位置,因此最初使用的是 UTC 时间。

谢谢!

最佳答案

一些事情...

  • 术语“EST”可用于北美东部标准时间或澳大利亚东部标准时间。大多数时区缩写不是唯一的,因此您应该更加具体。

  • EST 也不完全定义时区。它只定义了冬季月份使用的部分时区。另一半称为东部夏令时,缩写为 EDT。您的客户可能指的是“东部时间”,这需要将两者都考虑在内。

  • 定义时区的典型方法是作为来自 the IANA time zone database 的标识符.您可以在 the timezone tag wiki 中阅读更多相关信息.例如,如果您的客户指的是美国东部时间,那么您的时区就是“美国/纽约”。

  • JavaScript 本身对时区一无所知,除了它自己的时区和 UTC。 (bjb568 提供的链接没有正确处理夏令时。)为了在客户端使用它们,您需要使用 one of the libraries I list here。 .

  • 您当前的代码在输出方面有点奇怪。通常冒号仅用于分隔时间,而您将它们用于所有部分。无论如何,它没有转换任何东西,它只是输出 UTC。

  • 您可能会使用像 moment.js 这样的库它是 moment-timezone添加在。例如:

    moment().tz("America/New_York").format("YYYY-MM-DD HH:mm:ss")

关于javascript - 如何将 UTC 日期/时间转换为 EST 日期/时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20966042/

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