PHP 插入时间戳进mysql数据库问题
来源:互联网 发布:乐乎 爱唐晶的小海胆 编辑:程序博客网 时间:2024/06/16 03:50
1.之前做了一个登录检测的功能,就是每次用户登录会记录用户登录时间和在线时常。最近测试发现数据混乱,登录时间是对的,但是退出时间不对。经过排查,是apache2服务器崩了,所以重启了apache2服务器,时间就正常了。
2.在解决问题的过程中,整理一下,如何正常使用这个时间,虽然apache2 系统 和 mysql里的时间之间的关系不太清楚。但是知道的是,mysql时间是根据系统(linux)来获取的,现在我们来看一下:
(1) 首先设置好linux服务器的时区和时间:用date命令看一下:
Wed Oct 21 15:26:17 CST 2015 发现是CST,这个是中国标准时间(China Standard Time) 有的可能是EDT( 美国东部夏季时间) 这个就要进行修改:
方法如下:(网上摘抄的感谢作者)
linux系统修改CST时区:
=================================================
(2)修改完成后,重启apahce2服务器,让修改的时间也在apache2中生效。因为插入时间进数据库的时候我们利用了date函数来获取时间,而php获取的时间就是apache的时间
(3) 重启mysql服务器。
我们已经说了mysql服务器里边的时间根据linux系统时间来判断的,我们可以用show variables like "%time_zone";语句来看一下:
如下:
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | SYSTEM |
+------------------+--------+
我们可以看到系统的时区是CST和linux系统的时间是一样的,mysql当前的时区 显示为SYSTEM 也就是和服务器的时区是一样的,也是linux下的。这样就做到了一致。
如果修改了time_zone字段,会影响到select now(); 若使用上述默认的SYSTEM时区 ,我们在数据库里select now();时间就是linux服务器下date命令后的时间。
若是用SQL命令 把time_zone设置为 set time_zone = "+8:00"或者其他的 则select now();会在linux服务器date命令下的时间的基础上进行+8个小时操作。
注意:PHP中date方法中可以由参数设置是12小时制还是24小时制,date('Y-m-d H:i:s',time());
- h - 带有首位零的 12 小时小时格式
- H 是表示24小时格式
- i - 带有首位零的分钟
- s - 带有首位零的秒(00 -59)
- a - 小写的午前和午后(am 或 pm)
- PHP 插入时间戳进mysql数据库问题
- 关于向MySQL数据库插入datetime类型时间的问题
- 解决php向mysql数据库插入数据乱码问题
- MySQL时间插入的问题
- 关于PHP+MYSQL数据库保存时间的问题
- Django 使用 MySQL 存储时间中遇到的问题(在数据库中记录插入时间、更新时间、删除时间)
- 在php MYSQL中插入当前时间
- 问题:向Mysql数据库中插入时间类型数据,数据库中只有日期没有时分秒
- mysql数据库默认生成插入时间
- Java向MySQL数据库插入时间类型Date数据时需要注意的问题
- Java向MySQL数据库插入时间类型Date数据时需要注意的问题(二)
- Java向MySQL数据库插入时间类型Date数据时需要注意的问题
- 关于向Mysql数据库中插入时间只有日期没有时分秒的问题
- PHP+MYSQL如何插入记录到数据库
- PHP+MYSQL如何插入记录到数据库
- PHP对mysql数据库的插入记录
- Mybatis+Mysql插入时间默认值问题
- mysql自动插入时间戳
- 服务的注册
- 存储过程中的select语句赋值错误原因
- Java多线程概念总结
- C++显式实例化
- 设置Tomcat控制台日志打印的级别?如何设置?
- PHP 插入时间戳进mysql数据库问题
- 有线无线深度融合,极致简化管理
- Fedora如何实现自动登录
- 类重定义错误 error C2011: “complex”:“class”类型重定义
- Android的系统架构
- 一个Android练手工程(ViewPager、Fragment、ListFragment、sqlite)
- jQuery中this与$(this)的区别
- sql 查询重复
- 检查字符串中是否包含某字符集合中的字符