当前位置:  开发笔记 > 编程语言 > 正文

在不同的时区处理PHP服务器和MySQL服务器

如何解决《在不同的时区处理PHP服务器和MySQL服务器》经验,为你挑选了2个好方法。

对于我们这些使用标准共享主机软件包的用户,例如GoDaddy或Network Solutions,当您的托管服务器(PHP)和MySQL服务器位于不同的时区时,如何处理日期时间转换?

此外,是否有人提供了一些最佳实践建议,以确定您网站的访问者所处的时区,并适当地操作日期时间变量?



1> Željko Živko..:

从PHP 5.1.0开始,您可以使用date_default_timezone_set()函数来设置脚本中所有日期/时间函数使用的默认时区.

对于MySql(引自MySQL服务器时区支持页面)

在MySQL 4.1.3之前,服务器仅在启动时设置的系统时区中运行.从MySQL 4.1.3开始,服务器维护多个时区设置,其中一些可以在运行时修改.

您感兴趣的是时区的每个连接设置,您将在脚本的开头使用它们

SET timezone = 'Europe/London';

至于检测客户端时区设置,您可以使用一些JavaScript来获取并将该信息保存到cookie,并在后续页面读取时使用它来计算正确的时区.

//Returns the offset (time difference) between Greenwich Mean Time (GMT) 
//and local time of Date object, in minutes.
var offset = new Date().getTimezoneOffset(); 
document.cookie = 'timezoneOffset=' + escape(offset);

或者你可以为用户提供自己设置时区的方法.



2> Joel Meador..:

将所有内容存储为UTC.您可以使用客户端设置在客户端级别或服务器端进行转换.

php - 约会

mysql - utc-timestamp

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有