目前你遇到的问题大概是 PHP 获取的时间和 MySQL中获取的时间存在时差
比较直接的解决方案是在 PHP 和 MySQL 中遵循同一时区约定
PHP 在50 之后应该可以直接在代码中设定时区
date_default_timezone_set('PRC');
MySQL 也可以通过修改配置文件 myini 或者 mycnf 确保时区正确
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,这需要你仔细考虑下
日期时间类型:time:
格式:hh:mm:ss[nnnnnnn]
范围:00:00:000000000 到23:59:599999999
精确度:100 纳秒
存储大小(以字节为单位):3-5
用户定义的秒的小数精度:有
时区偏移量:无
date:
格式:YYYY-MM-DD
范围:0001-01-01 到 9999-12-31
精确度:1天
存储大小(以字节为单位):3
用户定义的秒的小数精度:无
时区偏移量:无
smalldatetime:
格式:YYYY-MM-DD hh:mm:ss
范围:1900-01-01 到 2079-06-06
精确度:1分钟
存储大小(以字节为单位):4
用户定义的秒的小数精度:无
时区偏移量:无
datetime:
格式:YYYY-MM-DD hh:mm:ss[nnn]
范围:1753-01-01 到 9999-12-31
精确度:000333秒
存储大小(以字节为单位):8
用户定义的秒的小数精度:无
时区偏移量:无
datetime2:
格式:YYYY-MM-DD hh:mm:ss[nnnnnnn]
范围:0001-01-01 00:00:000000000 到9999-12-31 23:59:599999999
精确度:100钠秒
存储大小(以字节为单位):6 到 8
用户定义的秒的小数精度:有
时区偏移量:无
datetimeoffset:
格式:YYYY-MM-DD hh:mm:ss[nnnnnnn] [+|-]hh:mm
范围:0001-01-01 00:00:000000000 到9999-12-31 23:59:599999999(以UTC 时间表示)
精确度:100钠秒
存储大小(以字节为单位):8 到10
用户定义的秒的小数精度:有
时区偏移量:有
以上就是关于到底该用GMT+8还是GMT全部的内容,包括:到底该用GMT+8还是GMT、php时间问题mysql数据库的时间格式(Y-M-D H:I:S) 在PHP页面想这样显示(Y-M-D) ('.$rows['ndate'].')、MYSQL时区相关的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)