Data Juliana AADDD ?
Amigos estou precisando de uma ajuda muito grande estou precisando transformar uma data no formato dd/mm/aaaa para o formato de data juliana aaddd mas o problem é que numca tinha ouvido falar neste formato de data e isso tem uma certa urgencia.
Antecipadamente agradeço qualquer resposta.
Sem mais vou ficando por aqui.
Antecipadamente agradeço qualquer resposta.
Sem mais vou ficando por aqui.
Targinosilveira
Curtidas 0
Respostas
Carnette
19/05/2003
Amigos estou precisando de uma ajuda muito grande estou precisando transformar uma data no formato dd/mm/aaaa para o formato de data juliana aaddd mas o problem é que numca tinha ouvido falar neste formato de data e isso tem uma certa urgencia.
Antecipadamente agradeço qualquer resposta.
Sem mais vou ficando por aqui.
Pega esta UNIT http://www.carnette.kit.net/D5/esbdates.zip e dá uma olhada...aí tem trocentas funções de conversão de datas..quem sabe tem aí o que voce procura
GOSTEI 0
Targinosilveira
19/05/2003
Se alguem souber mais alguma coisa me ajude por favor.
GOSTEI 0
Jairroberto
19/05/2003
Olá, Targino!
Na [b:579ddd6b59]unit[/b:579ddd6b59] [i:579ddd6b59]DateUtils[/i:579ddd6b59] há funções para conversão de datas para o formato Juliano:
function DateTimeToJulianDate(const AValue: TDateTime): Double;
function JulianDateToDateTime(const AValue: Double): TDateTime;
function TryJulianDateToDateTime(const AValue: Double;
out ADateTime: TDateTime): Boolean;
function DateTimeToModifiedJulianDate(const AValue: TDateTime): Double;
function ModifiedJulianDateToDateTime(const AValue: Double): TDateTime;
function TryModifiedJulianDateToDateTime(const AValue: Double;
out ADateTime: TDateTime): Boolean;
Há também na [b:579ddd6b59]unit[/b:579ddd6b59] [b:579ddd6b59]ConvUtils[/b:579ddd6b59] a função Convert que aparentemente também pode ser utilizada na conversão.
Consulte o help do Delphi sobre estas funções para obter maiores detalhes.
Só um detalhe... estas units foram introduzidas a partir da versão 6 do Delphi.
Um abraço,
Jair
Na [b:579ddd6b59]unit[/b:579ddd6b59] [i:579ddd6b59]DateUtils[/i:579ddd6b59] há funções para conversão de datas para o formato Juliano:
function DateTimeToJulianDate(const AValue: TDateTime): Double;
function JulianDateToDateTime(const AValue: Double): TDateTime;
function TryJulianDateToDateTime(const AValue: Double;
out ADateTime: TDateTime): Boolean;
function DateTimeToModifiedJulianDate(const AValue: TDateTime): Double;
function ModifiedJulianDateToDateTime(const AValue: Double): TDateTime;
function TryModifiedJulianDateToDateTime(const AValue: Double;
out ADateTime: TDateTime): Boolean;
Há também na [b:579ddd6b59]unit[/b:579ddd6b59] [b:579ddd6b59]ConvUtils[/b:579ddd6b59] a função Convert que aparentemente também pode ser utilizada na conversão.
Consulte o help do Delphi sobre estas funções para obter maiores detalhes.
Só um detalhe... estas units foram introduzidas a partir da versão 6 do Delphi.
Um abraço,
Jair
GOSTEI 0
Targinosilveira
19/05/2003
Tem como utilizar esta units no Delphi5 ?
GOSTEI 0
Jairroberto
19/05/2003
Olá, Targino!
Acredito que sim. Pois ela usa units comuns (SysUtils, Math, Types).
Segue abaixo o código da função:
Um abraço,
Jair
Acredito que sim. Pois ela usa units comuns (SysUtils, Math, Types).
Segue abaixo o código da função:
function DateTimeToJulianDate(const AValue: TDateTime): Double; var LYear, LMonth, LDay: Word; begin DecodeDate(AValue, LYear, LMonth, LDay); Result := (1461 * (LYear + 4800 + (LMonth - 14) div 12)) div 4 + (367 * (LMonth - 2 - 12 * ((LMonth - 14) div 12))) div 12 - (3 * ((LYear + 4900 + (LMonth - 14) div 12) div 100)) div 4 + LDay - 32075.5 + Frac(AValue); end; function DateTimeToModifiedJulianDate(const AValue: TDateTime): Double; const CJDToMJDOffset = 2400000.5; begin Result := DateTimeToJulianDate(AValue) - CJDToMJDOffset; end;
Um abraço,
Jair
GOSTEI 0
Santosrpno
19/05/2003
Targino, aqui é nonato, teste no delphi 5 e não deu certo, ao copiar a unit para o diret. \Lib do delphi5 ao compilar pede-se outra unit a Types que pede outras que só tem para versão 7.
Dai nã funciona, vou procurar mais e te mando um email.
Dai nã funciona, vou procurar mais e te mando um email.
GOSTEI 0
Jairroberto
19/05/2003
Olá, Nonato!
Não é necessário usar a unit inteira. Basta utilizar o código que passei anteriormente no projeto desejado. As duas funções de cálculo só usam rotinas das units SysUtils e System.
Um abraço,
Jair
Não é necessário usar a unit inteira. Basta utilizar o código que passei anteriormente no projeto desejado. As duas funções de cálculo só usam rotinas das units SysUtils e System.
Um abraço,
Jair
GOSTEI 0
Santosrpno
19/05/2003
Ok, Jair. Vou testar.
Agradeço a informação, precisamos de profissionais iguais a voçê, só assim teremos êxito em nossas metas.
Nonato.
Agradeço a informação, precisamos de profissionais iguais a voçê, só assim teremos êxito em nossas metas.
Nonato.
GOSTEI 0