mysql 时间 和 系统时间 不一致

mysql 时间 和 系统时间 不一致,第1张

你的Linux系统时间是CST(你的情况,应该是美国东部标准时间)。

应该是你时区设置不对。

美国东部时间是GMT-5,北京时间是GMT+8,中间相隔13个小时,正好符合你现在情况。

调整一下你的Linux系统时间,确认一下时区,应该就可以了。。

Good luck。

目前你遇到的问题大概是 PHP 获取的时间和 MySQL中获取的时间存在时差

比较直接的解决方案是在 PHP 和 MySQL 中遵循同一时区约定

PHP 在5.0 之后应该可以直接在代码中设定时区

date_default_timezone_set('PRC')

MySQL 也可以通过修改配置文件 my.ini 或者 my.cnf 确保时区正确

default-time-zone=timezone

问题是你的MySQL服务器可能是在某台美国服务器上租借的,没法修改

所以解决的方法只能是:

修改插件源代码,将 SQL 语句改为

select forum_id, count(post_id) todayposts

from ' .POSTS_TABLE. '

where date(from_unixtime(post_time)) = date(DATE_ADD(now(), INTERVAL 14 HOUR))

group by forum_id

其中的 DATE_ADD(now(), INTERVAL 14 HOUR) 是-14 还是 14,这需要你仔细考虑下

把php.ini中的date.timezone =修改成 date.timezone = PRC重启即可 还有我们一般使用“date -s”命令来修改系统时间。比如将系统时间设定成2005年7月26日的命令如下。 #date -s 03/28/2008 将系统时间设定成下午11点12分0秒的命令如下。 #date -s 11:24:00 注意,这里说的是系统时间,是linux由 *** 作系统维护的。 在系统启动时,Linux *** 作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。 #clock -w 这个命令强制把系统时间写入CMOS。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6168435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存