时间:2021-07-01 10:21:17 帮助过:82人阅读
不管做什么项目,必须都得接触的东西就是时间类型。现在用时间戳存储日期数据(整型存储)已经是业界很平常的的事情,网上各大游戏公司,各大开源都是采取整型时间戳存储。整数存日期好处很多,程序判断直读,扩展性好,随意可转换xml,json等格式。不过有一
不管做什么项目,必须都得接触的东西就是时间类型。现在用时间戳存储日期数据(整型存储)已经是业界很平常的的事情,网上各大游戏公司,各大开源都是采取整型时间戳存储。整数存日期好处很多,程序判断直读,扩展性好,随意可转换xml,json等格式。不过有一个最大的缺点就是查数据库不直观,也就是说我们用管理工具打开数据库的时候,看到的是一堆数字,维护数据不方便。为了解决这一缺陷,我找到一方法,先上代码:
select *,DATE_FORMAT(FROM_UNIXTIME(datetimed/1000),"%Y-%m") from `testTable`
testTable是表名,datetimed是表里一个整型字段。本人用的是毫秒存储,但是mysql的FROM_UNIXTIME方法只能转秒,所以就/1000来计算。
用过织梦,Discuz开源的朋友应该都有过看到一堆头痛的整型时间的经历吧。这段mysql语句粘到管理工具运行就可以直观的看到日期结果了。
但是如果还有人觉得这样麻烦,我无话可说,毕竟有些做小项目的人不需要考虑扩展,也用不上对象格式转换。后台的操作基本用不上Date,都是把Date转成整型再计算,干嘛浪费时间精力存一个不方便转格式的Date型。众多大型开源都使用时间戳,允分证明了时间戳存储的优势。为了一个快一步的直观而放弃扩展,这值吗?