Data Juliana
Um recurso muitas vezes importante em um sistema, é a geração da data atual no formato Juliano.
A data Juliana é conhecida por contar os dias ininterruptamente do primeiro dia do ano (dia 1) até o o último (dia 365 ou 366).
Mas, afinal, qual o motivo que eu iria querer a data Juliana de determinado dia, se eu tenho o calendário Gregoriano (o que nós conhecemos), que já me satisfaz e é mais fácil de entender?
A resposta é simples: Geração de protocolos, códigos, matrículas etc.
Um exemplo bem prático é o que costumamos ver em operadoras de cartões de crédito e outras empresas que definem seus números de protocolos com base em uma série de fatores.
Um tipo de protocolo bastante usado, por exemplo, é o estilo ano.data juliana.código do cliente.código do pedido, gerando algo do tipo 2008.102.010.55.
Mas, chega de enrolação, aqui eu mostro o código (em Delphi) para a geração da Data Juliana que utilizo normalmente nos meus sistemas:
{
********************************************************************************
** Função que tem por objetivo converter a data Gregoriana informada, **
** para a data Juliana. **
** **
** Escrita por: **
** Giovanni Grimaldi Torelly – 23:00 – 31/07/2004 **
** **
********************************************************************************
}function Data_Juliana (Data_Atual: TDateTime): String;
var
Ano, Mes, Dia: Word;
Data_Final, Data_Inicial: String;
Resultado: Real;
begin
DecodeDate (Date, Ano, Mes, Dia);
Data_Final := DateToStr (Data_Atual);
Data_Inicial := ’31/12/’ + IntToStr (Ano – 1);
Resultado := StrToDate (Data_Final) – StrToDate (Data_Inicial);
Result := FloatToStr (Resultado);
end;
Para que a função seja executada, basta chamar Data_Juliana(data)
Espero que este código tenha sido útil.
Em breve, pretendo postar mais códigos.







Receba as atualizações por E-Mail.

Palavras-Chave: 









RT @ggty: Data Juliana #ButecoDeBits http://ggty.in/1Z