某公司数据库设计规范中的 gmt_create、gmt_modified 的前缀 gmt 如何理解?

2018-09-12 12:17:39 +08:00
 nikoo
“表必备三字段:id, gmt_create, gmt_modified。 ”
“ gmt_create, gmt_modified 的类型均为 date_time 类型。”

gmt_create, gmt_modified 字段储存了记录创建、修改时间
这个前缀 gmt 是什么的缩写?
如果是“格林威治标准时间”是不是有歧义?
因为如果数据库服务器是北京时间,那不应该是 GMT+8 吗?

--------------------------------------------------------------------
另外想探讨下这个字段名 gmt_modified 那么另一个为什么不是 gmt_created 而是 gmt_create ?
11428 次点击
所在节点    问与答
14 条回复
feiyuanqiu
2018-09-12 12:23:07 +08:00
你去问这个公司的人啊…
wu67
2018-09-12 12:27:40 +08:00
可能是产品缩写?最初开发者的名字缩写之类的?我记得以前看过一套视频, 就是瞎缩写, 看了两集我就放弃了
Dannytmp
2018-09-12 12:28:29 +08:00
刮民党
98jiang
2018-09-12 12:33:09 +08:00
可能只是某项目用的表的前缀
daigouspy
2018-09-12 12:33:38 +08:00
是的,就是跟时间有关的 gmt,你有空看看 WordPress 的表就知道了。
feverzsj
2018-09-12 12:37:38 +08:00
其实是开发者的名字拼音缩写
everyx
2018-09-12 12:41:49 +08:00
难道是阿里巴巴? GMT 应该是世界时的缩写
nikoo
2018-09-12 12:43:45 +08:00
@daigouspy 谢谢,为什么跟时间有关的字段名以 gmt 做前缀?难道没有考虑不同时区的问题吗
EPr2hh6LADQWqRVH
2018-09-12 12:46:29 +08:00
中国人不是英语母语,程序员也没专业培训过英语,光培训代码就已经拼尽全力了,时态用不对太正常了,还要啥自行车,没用拼音很优秀了
nikoo
2018-09-12 12:47:43 +08:00
@avastms 谢谢,我想知道是真的时态没用对还是有其他考虑
JinyAa
2018-09-12 12:49:57 +08:00
阿里的吧。。阿里设计数据库一般都这样 只是创建时间和修改时间 没必要纠结
EPr2hh6LADQWqRVH
2018-09-12 12:57:38 +08:00
@nikoo 加 gmt 前缀是提醒开发者应考虑时区问题,开发者的本地时需要转换成世界时之后再存到字段里面去。 这样数据库存储的时间就不会因为时区乱掉。

比如现在你就因为这个前缀的提醒意识到了时区问题,否则很容易忽略。

还有另一种操作是一律存储 Unix 时间戳,timestamp 隐含了 0 时区。
nikoo
2018-09-12 13:07:56 +08:00
@avastms 谢谢!一言惊醒梦中人,靠谱
date_time 字段有时区问题,那么为什么不用 timestamp 作为标准字段类型?
timestamp size 小、索引效率高、并且没有时区问题(能想到的 timestamp 缺点是 2038 问题)
out001a
2019-09-18 15:33:57 +08:00
@nikoo 阿里要做百年企业

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/488489

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX