对于时间的创造性的编码格式 yymmddHHMM

2022-01-02 22:25:31 +08:00
 masterclock
创造性的编码格式。
时间编码成 yymmddHHMM , 然后作为十进制整数使用。
于是 2022 年整数溢出,exchange 服务 bug 。
2696 次点击
所在节点    微软
14 条回复
anguiao
2022-01-02 22:37:16 +08:00
并不创造性,起码我确实见过这么用的人
liaohongxing
2022-01-02 22:57:22 +08:00
应该是历史遗留问题,10 几年历史的屎山上,不出问题,其他人才不会改。
mineralsalt
2022-01-02 23:08:22 +08:00
作为整数也没问题啊, 但是至少得用 long 类型吧
hguandl
2022-01-02 23:18:40 +08:00
哪怕用 unsigned int 也行啊
hguandl
2022-01-02 23:19:20 +08:00
会让问题再晚 20 年被发现(
zhy0216
2022-01-02 23:34:10 +08:00
刚也看到这个了 太搞了
xmumiffy
2022-01-03 02:36:48 +08:00
@mineralsalt 就是 long
jackmod
2022-01-03 06:25:29 +08:00
2201010000
2147483647
这操作我真没见过
这么设计至少也是千禧后的系统了,还要这么玩吗 2333
FrankFang128
2022-01-03 09:02:53 +08:00
ISO 8601
thedrwu
2022-01-03 09:03:20 +08:00
当年写这代码的程序员没期望微软能活那么久
kaiki
2022-01-03 09:12:27 +08:00
我敢打赌,2038 年 1 月 19 日肯定会有不少程序员哀嚎
GuuJiang
2022-01-03 11:14:09 +08:00
典型的没有分清“数字”和“数码”的区别,之前工作中就遇到过坚持要把银行卡号定义为 long 型的
securityCoding
2022-01-03 11:41:20 +08:00
@GuuJiang 没理解, 详细说说
GuuJiang
2022-01-03 11:58:30 +08:00
@securityCoding 并不是所有全由 0-9 组成的东西都叫数字,银行卡号、学号等非自增的编号,表面上看起来是数字,但是对其进行四则运算是无意义的,比较大小也不能用数字本身来比较,更常用的操作是取其子串,所以本质上应该是字符串

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

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

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

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

© 2021 V2EX