Esse artigo vai explicar uma forma alternativa de se armazenar datas em banco de dados. Não é uma novidade, aliás isso é coisa da galera da "old school", o pessoal que trabalhava com grande porte e coisas assim. Mas essa técnica não morreu, é bem interessante para se ter mais uma carta na manga.
Podemos ter vantagens e desvantagens usando unix timestamp, é mais uma opção. Data de vez em quando dá um nó na cabeça e esse modo de tratamento me deixa mais à vontade (sem contar que uso menos conversões para operações corriqueiras).
Alguns WHERE's podem dar trabalho, mas nada que vai parar o seu projeto.
Espero ter acrescentado um pouco de conhecimento, um abraço.
[1] Comentário enviado por fabio em 01/07/2004 - 01:45h
Bom, como a idéia é compartilhar conhecimento, vou mostrar aqui a forma como eu faço, não digo se é melhor ou pior que a mostrada no artigo, mas também funciona muito bem!
Todos os meus arquivos possuem um include para um arquivo global de configuração do sistema, o config.inc. Nele possuo uma variável que armazena o formato do campo DATETIME do banco de dados usado pelo sistema. Por exemplo, pra MySQL defino a variável assim:
$formato_data = 'Y-m-d';
E pra SQL Server seria:
$formato_data = 'm-d-Y';
Se a regionalização mudar, basta mudar uma variável que a lógica das queries estarão automaticamente atualizadas e funcionando.
Quando vou montat um insert, faço da seguinte forma:
Dessa forma não perdemos os recursos que o banco de dados oferece para cálculo de datas e nem precisamos fazer malabarismos nas queries quando mudamos de banco de dados. :P
[3] Comentário enviado por afonso_franca em 29/09/2005 - 13:59h
Há algum tempo eu descobri o UNIX DATE também trabalhando com o banco do PHPBB e desde então tornou-se o formato padrão de data pra mim (pelo menos até 19/01/2038 hehe).