mysql 时间戳 2038_mysql数据库的timestamp为什么从1970到2038的某一时间?某一时间是指什么时间?过了这个时间之后怎么办?-问答-阿里云开发者社区-阿里云...
首先你要理解什么是时间戳。时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至某一时间点的总秒数。例如北京时间2015-12-31 17:00:00的时间戳是1451552400,就是指从北京时间1970-01-01 08:00:00到2015-12-31 17:00:00已经过去了1451552400秒。下面一一问答你的问题:1、
首先你要理解什么是时间戳。时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至某一时间点的总秒数。
例如北京时间2015-12-31 17:00:00的时间戳是1451552400,就是指从北京时间1970-01-01 08:00:00到2015-12-31 17:00:00已经过去了1451552400秒。
下面一一问答你的问题:
1、MySQL数据库的timestamp为什么从1970到2038的某一时间?
MySQL的timestamp类型是4个字节,最大值是2的31次方减1,也就是2147483647,转换成北京时间就是2038-01-19 11:14:07。可以使用上面的在线的时间戳转换工具得出。
2、某一时间是指什么时间?
如上,北京时间是2038-01-19 11:14:07。
3、过了这个时间之后怎么办?
1) 使用datetime;
2) 等过了再说。
最后补充一个彩蛋:北京时间2038-01-19 11:14:07,如果某些系统还在使用MySQL的Timestamp,或者系统使用的编程语言用4字节补码整型(例如Java的int)来表示时间戳的,这些系统都会跪掉,说不定会搞出点什么大新闻(例如飞机航班系统挂掉、银行某系统跪掉),好吧,我乱猜的,等着那一天吧。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)