mysql中日期类型timestamp和datetime的区别

我们会经常遇到向数据库中插入日期时间的操作,最常用的日期类型一般都是date和datetime等,多用于存储用户注册日期登录日期等‘’一成不变‘’的时间,实际业务中很少会遇到需要存储类型为timestamp的,所以很多人对这个日期类型比较陌生,那么他与datetime的区别在什么地方呢?
我们运行以下代码:

微信图片编辑_20180606140920.jpg

其中,us_current_time字段的数据类型是timestamp,us_datetime字段的数据类型是datetime,两者的主要区别是,当时区更改时,以timestamp类型存储的时间会被自动转换成当前时区对应的时间,也就是说当这条数据被从数据库拿出的时候会被mysql自动加工处理,随时区的变化而变化,那么什么样的业务会需要这样的需求呢?
设想一下,当你与一个身处东京的朋友聊天的时候,此时正是北京时间9点整,如果你们聊天的当前时间保存类型不是timestamp,那么他所说的话在你这里显示的是上午10点钟,从未来而来,出鬼了么……

0 个评论

要回复文章请先登录注册