Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 你如何处理时区问题?_Php_Mysql_Sqlite_Postgresql_Timezone - Fatal编程技术网

Php 你如何处理时区问题?

Php 你如何处理时区问题?,php,mysql,sqlite,postgresql,timezone,Php,Mysql,Sqlite,Postgresql,Timezone,对于调度系统,在中央服务器数据库中保存客户端/事件时区的最佳方法是什么?该数据库来自多个来源移动、web和客户端应用程序 你如何储存日期?警报、提醒等 如何处理DST设置 如果客户已前往其他地点,您如何处理这些事件 我需要解决方案来处理标记中的所有数据库。UTC中的所有内容,以及偏移量的另一列。将日期存储为UTC时间戳-向用户显示数据时转换为本地时间 安全地存储在一个特定时区(理想情况下为UTC) 如果将时间与日期一起存储,则在DST中是安全的 建议您使用web服务查找时差 这些是我倾向于使

对于调度系统,在中央服务器数据库中保存客户端/事件时区的最佳方法是什么?该数据库来自多个来源移动、web和客户端应用程序

  • 你如何储存日期?警报、提醒等
  • 如何处理DST设置
  • 如果客户已前往其他地点,您如何处理这些事件

我需要解决方案来处理标记中的所有数据库。

UTC中的所有内容,以及偏移量的另一列。

将日期存储为UTC时间戳-向用户显示数据时转换为本地时间

  • 安全地存储在一个特定时区(理想情况下为UTC)
  • 如果将时间与日期一起存储,则在DST中是安全的
  • 建议您使用web服务查找时差

  • 这些是我倾向于使用的策略的关键点

    • 每个日期都是系统内部的UTC
    • 用户在其本地时区中显示日期
    • 我们允许用户覆盖他们正在使用的时区,以防他们旅行,并希望保持时区一致
    • 使时区易于显示。将其与时间一起显示或作为列标题的一部分显示

    当DST改变时,偏移量可能会改变,当必须改变偏移量时,您该怎么办?答案绝对正确。如果你不使用一个特定的时区来建立你所有的时间戳等等,你会遇到很多问题。只需使用具有日期范围的偏移量查找表,然后将用户链接到该表。不要将偏移量存储为实际数字。偏移量存储为例如
    EST5EDT
    。但这可能会随着DST而改变,例如,我在冬季使用
    GMT+2
    ,在夏季使用
    GMT+3
    ,这会使您使用
    EET2EEDT
    。或者不管名称是什么。请注意,下面列出的答案都建议使用纯UTC方法,这对于调度系统来说并不理想。请参阅dup post中的已接受答案。谢谢