V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
redtea
V2EX  ›  问与答

公司的项目存在 2038 年问题,是不是现在就要改掉?

  •  
  •   redtea · 2016-08-29 20:51:54 +08:00 · 2233 次点击
    这是一个创建于 2999 天前的主题,其中的信息可能已经有所发展或是发生改变。

    数据库里都是用 int 存时间,代码里也是用 int 来处理的,距离 2038 年还有二十几年,是不是现在就该掉?还是到时留给后人来改掉,只是现在改的话,牵涉面太广,还有就是感觉这个项目甚至公司都不可能撑到 2038 年。

    11 条回复    2016-08-30 18:32:32 +08:00
    hetiansu5
        1
    hetiansu5  
       2016-08-29 21:25:33 +08:00
    哈哈,同样感觉这个问题到时候爆发起来会像千年虫一样。
    abelyao
        2
    abelyao  
       2016-08-29 22:21:21 +08:00
    9999999999 不是对应 2286-11-20 吗…
    如果是 mysql 要设置为 unsigned 啊…
    redtea
        3
    redtea  
    OP
       2016-08-29 22:45:12 +08:00
    @abelyao int 最大值是 2147483647 ,如果用 unsigned 是 4294967295 。就算把数据库改成 unsigned ,只是把时间稍微推迟几十年,代码(用的是 java )还是要改。
    abelyao
        4
    abelyao  
       2016-08-29 22:52:17 +08:00 via iPhone
    @redtea 噢,我先入为主的以为是 PHP 了。我觉得还是先不改,等到项目值得去做这么大改动的时候,或许你们已经有更完善的团队可以处理这个问题,或许技术结构都已经做了迁移。当然如果团队比较闲可以搞搞…
    just4test
        5
    just4test  
       2016-08-29 22:53:05 +08:00
    想太多。
    FrankFang128
        6
    FrankFang128  
       2016-08-29 22:53:50 +08:00
    那 10000 年以后怎么办?
    shiny
        7
    shiny  
       2016-08-29 22:57:48 +08:00
    看看什么项目什么公司,互联网的忽略,升级容易的忽略。以后交接的时候文档内写清楚即可,
    crazycen
        8
    crazycen  
       2016-08-30 09:03:36 +08:00 via iPhone
    20 年后,你的软件就不存在, windows 40 并不兼容你的软件了。。。
    RihcardLu
        9
    RihcardLu  
       2016-08-30 10:11:30 +08:00
    @abelyao 等等, int 在 PHP 里面也最大值是 9999999999 ?
    http://php.net/manual/en/language.types.integer.php
    abelyao
        10
    abelyao  
       2016-08-30 10:19:25 +08:00 via iPhone
    @RihcardLu 弱类型啊…………
    Alife
        11
    Alife  
       2016-08-30 18:32:32 +08:00
    今年是 2036 年吗?改:不改
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1030 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:06 · PVG 06:06 · LAX 14:06 · JFK 17:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.