Php 转换为成员的最佳方式';数据库中存储有偏移量的时区?

Php 转换为成员的最佳方式';数据库中存储有偏移量的时区?,php,mysql,Php,Mysql,我的服务器的时区是东部时间。当我第一次构建members表时,我就要求成员在注册时设置时区,以便以后添加时区支持 例如,成员注册并选择东部时间作为其时区。数据库中的信息看起来像“-5” 我存储的默认时间戳是Y-m-dh:I:s格式。现在,仅使用偏移进行转换有多困难?我想在发布帖子时将一个时间戳(最好与偏移量一起使用的时区)提交到数据库中,然后在向用户显示内容时,根据用户在数据库中的偏移量将其转换为用户的时区 任何示例代码或简短的教程都很好 谢谢。很简单。Php具有相当广泛的时区支持 假设您做了正

我的服务器的时区是东部时间。当我第一次构建members表时,我就要求成员在注册时设置时区,以便以后添加时区支持

例如,成员注册并选择东部时间作为其时区。数据库中的信息看起来像“-5”

我存储的默认时间戳是Y-m-dh:I:s格式。现在,仅使用偏移进行转换有多困难?我想在发布帖子时将一个时间戳(最好与偏移量一起使用的时区)提交到数据库中,然后在向用户显示内容时,根据用户在数据库中的偏移量将其转换为用户的时区

任何示例代码或简短的教程都很好


谢谢。

很简单。Php具有相当广泛的时区支持


假设您做了正确的事情,并且使用MySQL时间戳数据类型而不是datetime日期类型存储时间戳,那么您所要做的就是将时区设置为MySQL查询,并且时间戳将被转换

datetime数据类型不会自行转换,但您可以自己进行转换

不过,夏令时会有一些问题。最好将时区存储为美国/纽约等地。不是数字

请参阅php
timezone\u identifiers\u list()
函数,该函数将为您提供可能的时区列表。其结果可用于PHP和MySQL。我通常从用户配置文件加载时区,然后执行以下操作:

date_default_timezone_set('....');
mysql_query("SET time_zone = '....'");

然后一切正常。

你使用过PHP框架吗?比如Zend框架。你可以试试这些方法——不,我是用纯PHP编写的。我的网站不太适合使用框架,我更愿意学习如何用艰苦的方式做事。谢谢你的帮助。是的,我使用的是时间戳数据类型,所以这看起来很有希望。我要试一试。是的,我希望在选择使用数字之前我能准备得更好,但是我不得不很快地开始,并且没有能够在这个问题上做足够的研究。非常感谢。