masterclock
V2EX  ›  微软

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

  •  1
     
  •   masterclock · Jan 2, 2022 · 4086 views
    This topic created in 1773 days ago, the information mentioned may be changed or developed.
    创造性的编码格式。
    时间编码成 yymmddHHMM , 然后作为十进制整数使用。
    于是 2022 年整数溢出,exchange 服务 bug 。
    14 replies  •  2022-01-03 11:58:30 +08:00
    anguiao
    anguiao
    Jan 2, 2022
    1
    并不创造性,起码我确实见过这么用的人
    liaohongxing
    liaohongxing
    Jan 2, 2022
    2
    应该是历史遗留问题,10 几年历史的屎山上,不出问题,其他人才不会改。
    mineralsalt
    mineralsalt
    Jan 2, 2022
    3
    作为整数也没问题啊, 但是至少得用 long 类型吧
    hguandl
    hguandl
    Jan 2, 2022
    4
    哪怕用 unsigned int 也行啊
    hguandl
    hguandl
    Jan 2, 2022
    5
    会让问题再晚 20 年被发现(
    zhy0216
    zhy0216
    Jan 2, 2022
    6
    刚也看到这个了 太搞了
    106npo
    106npo
    Jan 3, 2022 via Android
    7
    @mineralsalt 就是 long
    jackmod
    jackmod
    Jan 3, 2022 via Android
    8
    2201010000
    2147483647
    这操作我真没见过
    这么设计至少也是千禧后的系统了,还要这么玩吗 2333
    FrankFang128
    FrankFang128
    Jan 3, 2022
    9
    ISO 8601
    thedrwu
    thedrwu
    Jan 3, 2022 via Android
    10
    当年写这代码的程序员没期望微软能活那么久
    kaiki
    kaiki
    Jan 3, 2022
    11
    我敢打赌,2038 年 1 月 19 日肯定会有不少程序员哀嚎
    GuuJiang
    GuuJiang
    Jan 3, 2022 via iPhone
    12
    典型的没有分清“数字”和“数码”的区别,之前工作中就遇到过坚持要把银行卡号定义为 long 型的
    securityCoding
    securityCoding
    Jan 3, 2022 via Android
    13
    @GuuJiang 没理解, 详细说说
    GuuJiang
    GuuJiang
    Jan 3, 2022 via iPhone
    14
    @securityCoding 并不是所有全由 0-9 组成的东西都叫数字,银行卡号、学号等非自增的编号,表面上看起来是数字,但是对其进行四则运算是无意义的,比较大小也不能用数字本身来比较,更常用的操作是取其子串,所以本质上应该是字符串
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1921 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 15:31 · PVG 23:31 · LAX 07:31 · JFK 10:31
    ♥ Do have faith in what you're doing.