masterclock
V2EX  ›  微软

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

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