E qual seria o impacto de mudarmos a base, de 1970 para 1971? Eh... na verdade passarmos a usar uma base móvel...
Porque a maioria dos softwares usa essa informação depois de traduzida na data de hoje... talvez não fosse tão complicado Ou será que muitos softwares usam o tal número de 32 bits na forma bruta? Luiz Otavio O Souza escreveu: > ----- Original Message ----- > From: "Joao Rocha Braga Filho" <[EMAIL PROTECTED]> > > > 2008/1/18 Josias LG <[EMAIL PROTECTED]>: > >> http://uoltecnologia.blog.uol.com.br/arch2008-01-13_2008-01-19.html#2008_01-17_20_57_59-126529944-29 >> >> O titulo do post já dá pistas: vem mais encrenca por aí. Mal saímos do >> bug do milênio e já estão preocupados com outro. >> >> Na mesma linha do bug anterior, este também tem a ver com tempo e datas. >> O problema afeta programas que utilizam a representação de tempo Posix >> (Interface portátil entre sistemas operacionais), baseada em Unix - >> sistema operacional que controla a maioria dos servidores. >> >> Nessa representação, o tempo é cálculado desde 1o de janeiro de 1970 e >> usa um número binário (representado por zeros e uns) de 32 bits. A >> última data que pode ser representada nesse formato é 03:14:07 de 19 de >> janeiro de 2038 (32 números 1 seguidos). >> >> Após esse momento, a data será representada por um número decimal >> negativo (foto). Isso fará o calendário voltar para 1970 ou 1901, >> afetando a maioria dos programas executados pelo sistema. Bug a vista! >> >> PS - E dessa vez não vai ser tão simples resolver. Mudar a base de dados >> para 64 bits. A mudança quebraria a compatibilidade binária de alguns >> softwares. O Zip - compactador - foi construído para 32 bits. Muitos >> sistemas embarcados feitos até 2006 usam arquitetura de 32 bits. Tomara >> que consigam fazer a migração dos sistemas até 2038. No aguardo e >> torcendo! >> ------------------------- >> Histórico: http://www.fug.com.br/historico/html/freebsd/ >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd >> > > Bug velho. Eu sei deste bug deste a década de 90. Mas existe um > Workaround, tornar o tipo time_t unsigned. O bug passa a ser em > 2107. Já fiz as contas a uns 15 anos atrás. > -------------- > > João, > > É isso mesmo... se cada ano tem 31.536.000 segundos (60 X 60 X 24 X 365 - > Segundos por minuto X Minutos por hora X Horas por dia X Dias por ano), 32 > bits poderiam representar 136 anos (que a partir de 1970 nos levariam até > 2106), mas parece que só utilizam 31bits (signed int) o que pode representar > apenas 68 anos que vai nos levar até o ano de 2038. > > 32^2 = 4.294.967.295 > 31^2 = 2.147.483.647 > > luiz > > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

