Pergunta

Eu estou trabalhando em um projeto agora que vai me obrigar a permitir aos usuários armazenar negativos-datas no banco de dados. Estas datas têm o potencial para abranger muitos milhares de anos aC, e mais tarde como 'Hoje'. Eu trabalhei em muitos projetos que datas armazenadas, mas eram todas as datas relativamente-recentes, e nenhum deles era sempre negativo (BC).

Que tipos de coisas que eu deveria levar em considerar quando se trabalha com este tipo de dados? Estou plenamente consciente das muitas calendário turnos que tiveram lugar na história, mas eu vou estar trabalhando com o calendário moderno e não se preocupar muito sobre fazer conversões. No entanto, qualquer informação sobre conversões seria muito apreciada, pois é um tema muito relevante, e um que eu estou academicamente interessado em embora não seja obrigado a concentrar-se durante este projecto.

Update: Eu serei história AAAA-MM-DD (Esse formato não é obrigatório)

Foi útil?

Solução

Como precisa é que a sua necessidade de armazenamento de ser? É anos, dias ou horas / minutos. Se você está apenas olhando para dias ou anos, então talvez você não precisa realmente armazenar a data, mas sim um deslocamento de +/- Dia / Anos de sua 0 Data

Outras dicas

Eu tive o problema semelhante e eu queria continuar relé em campos de data no DB para permitir-me usar a data intervalo de pesquisa com precisão de up-to de um dia para valores históricos. (Meu DB inclui a data de nascimento e as datas de imperadores romanos ...)

A solução foi adicionar um ano constante (exemplo: 3000). Para todas as datas antes de adicionar-los para o DB e subtraindo o mesmo número antes de exibir os resultados da consulta para os usuários

Se você DB já tem algum valor datas nele, lembre-se de atualizar o valor de sair com o novo número de const.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top