首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php mysql date.timezone和冬季和夏季时间

问php mysql date.timezone和冬季和夏季时间
EN

Stack Overflow用户
提问于 2012-07-04 13:28:10
回答 1查看 3.9K关注 0票数 0

我在php或mysql中使用夏季格林尼治标准时间+02:00和冬季格林尼治标准时间+01:00有问题。

在php.ini date.timezone =‘欧洲/布拉格’

php和mysql是一样的,通过这种方式->

因此,由于strtotime使用本地时间,因此strtotime('20120101000000') returns 1325372400,同时strtotime('20120101000000 UTC')返回右值1325376000

但对我来说,没有什么是正确的,例如:当用户在2012年7月1日00:30拿到钱时,我没有使用UTC按strtotime存储它。但是当我在冬天读它的时候,我会看到23:30 30.6.2012 ...因为我的GMT +小时被更改了

因此,我尝试将本地时间设置为UTC,并且只使用UTC...但这意味着,我必须更改系统小时数并添加小时数(GMT +02:00),现在一切正常

但必须停止NTP同步...因为我需要使用增加了GMT +02:00的时间

您能否帮助我,如果存在另一个亮丽的解决方案,或者如何设置NTP同步增加2小时

下一个问题是,web服务器显示您的时间(增加2小时是GMT...但事实并非如此)

EN

回答 1

Stack Overflow用户

发布于 2012-07-04 13:49:16

在PHP中,您可以使用函数date_default_timezone_set http://php.net/manual/en/function.date-default-timezone-set.php在脚本中设置时区

在mysql中,时区将默认为您的计算机/服务器的系统时间。您可以通过以下方式了解如何更改此设置:

http://dev.mysql.com/doc/refman//5.5/en/time-zone-support.html

或者使用mysql,您可以使用以下命令针对每个查询执行此操作:

CONVERT_TZ()

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

最好通过将所有数据转换到单个TZ来处理时区,最好是不受夏令时影响的TZ。GMT或UTC是最佳实践。您可以在需要时将查询结果转换为所需的TZ。或者,您可以使用linux时间戳(php: time(),strtotime(),Mysql: UNIX_TIMESTAMP),然后在需要时将这些值转换为人类可读的字符串。

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11322893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档