Data Juliana AADDD ?

19/05/2003

0

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.


Targinosilveira

Targinosilveira

Responder

Posts

19/05/2003

Carnette

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


Responder

20/05/2003

Targinosilveira

Se alguem souber mais alguma coisa me ajude por favor.


Responder

20/05/2003

Jairroberto

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


Responder

20/05/2003

Targinosilveira

Tem como utilizar esta units no Delphi5 ?


Responder

20/05/2003

Jairroberto

Olá, Targino!

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


Responder

20/05/2003

Santosrpno

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.


Responder

20/05/2003

Jairroberto

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


Responder

21/05/2003

Santosrpno

Ok, Jair. Vou testar.
Agradeço a informação, precisamos de profissionais iguais a voçê, só assim teremos êxito em nossas metas.
Nonato.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar