gpt4 book ai didi

php - 如何计算大型应用程序的时区偏移量?

转载 作者:行者123 更新时间:2023-11-29 03:05:48 25 4
gpt4 key购买 nike

在处理大型应用程序时,我试图使日期时间戳与当前用户时间一致。所以如果事件 ID 在下午 3:00 完成,那么每个用户都会在下午 3:00 看到它

所以这是问题的解决步骤。关于这一点,如果我的方向不对,请纠正我或引导我走向正确的方向。

  1. 将所有日期时间存储在 MySql 中作为 UTC 时间。

  2. 使用当前偏移量将时区存储在表中。例如

    zone_id  zone_name  utc-offset
    1 Central -6
  3. 在我的用户表中,我有一个 user_time_zone_id 字段,在该字段中,我将在用户设置中设置值“1”,因此它会表示该用户正在从“中央”位置使用系统。

  4. 在我的 php 应用程序配置中,我像这样将默认时区设置为 UTC

    date_default_timezone_set('UTC');
  5. 加载此应用程序后,我会定义用户偏移量,并在每个日期时间输出时计算时间。例如 date('Y-m-d', strtotime($current_offset.' hour')) where $current_offset = -6 因为它是在页面加载时由用户配置文件定义的。

这是我的问题。

我解决这个问题的方法是否正确?有更好的方法吗?如何计算夏令时?请记住,该国家/地区的某些地区没有夏令时。

最佳答案

我曾经遇到过类似的事情,最终尝试跟踪用户时区和夏令时变得很痛苦,尤其是当您的一半客户位于没有夏令时的 AZ 时。我不知道这对你来说是否可行,但我最终做的只是将所有内容存储在 UTC 中,然后使用 JS 通过 Date 对象将其转换为用户本地时间。它是通过 ajax 调用完成的,但如果需要,您也可以echo document.write

关于php - 如何计算大型应用程序的时区偏移量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15551772/

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