redtea
V2EX  ›  问与答

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

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