O Bug do milênio de 2038

O Bug do Milênio foi derrotado, mas no melhor estilo de um vilão de histórias em quadrinhos, continuará a espreita para atacar numa outra oportunidade. De fato, o próximo problema já tem data e hora marcados: 03:14:07, na terça-feira do dia 19 de janeiro de 2038. Este bug, chamado de Bug de 2038 ou Bug do Milênio Unix, irá afetar todos os sistemas 32 bits que calculam suas datas a partir da representação POSIX. Na representação de tempo POSIX, todo o tempo é baseado numa contagem feita em segundos e essa contagem começou no dia 1º de Janeiro de 1970, aumentando de segundo em segundo até os dias de hoje.
O bug de 2038 ocorre porque a maioria dos sistemas tipo UNIX de 32 bits é programado em linguagem C, que trata os valores de tempo como números inteiros do tipo signed (que aceitam sinais positivos e negativos). Existe um valor máximo que os números do tipo inteiro e com sinal podem suportar e esse valor vai de –2.147.483.648 até +2.147.483.647, ou seja: começando de 00:00:00 em 1º de janeiro de 1970, o tempo UNIX suporta somente2.147.483.647 segundos antes de zerar a contagem.