redtea
V2EX  ›  问与答

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

  •  
  •   redtea · Aug 29, 2016 · 2874 views
    This topic created in 3550 days ago, the information mentioned may be changed or developed.

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

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