Date como Float

Delphi

22/04/2015

Galera, como eu trabalho com uma data no formato Float?
Obrigado!
Ferefefe88

Ferefefe88

Curtidas 0

Respostas

Ferefefe88

Ferefefe88

22/04/2015

preciso tirar mes, ano, dia, hora, minuto de um float
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

22/04/2015

Mas por que a data está nesse formato?
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

22/04/2015

Talvez utilizando a função COPY você consiga resolver...

var
  Source, Target : string;

begin
  Source := '12345678';
  Target := Copy(Source, 3, 4);
  ShowMessage('Target : '+Target);
end;

Resultado da execução:
   Target : 3456
 
fonte: [url]http://www.delphibasics.co.uk/RTL.asp?Name=Copy[/url]

Para utilizar, é possível que tenha que converter a variável que contém a data para string...
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

22/04/2015

Essa é outra função, que talvez possa ser utilizada também:
Como obter uma substring de uma string

Em algumas situações precisamos obter uma substring de uma string. Em Delphi isso pode ser feito por meio da função AnsiMidStr(). Esta função requer a string a partir da qual a substring será obtida, a posição inicial da substring (começando em 1) e a quantidade de caracteres que comporâo a substring. O retorno será uma nova string contendo a substring obtida. Veja o exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
  frase, substring: string;
begin
  frase := 'Programar em Delphi é muito bom';

  // vamos obter a substring "Delphi"
  substring := AnsiMidStr(frase, 14, 6);

  // vamos exibir o resultado
  ShowMessage('Resultado: ' + substring);
end;

Não se esqueça de adicionar a unit StrUtils no uses do seu formulário.
GOSTEI 0
Ferefefe88

Ferefefe88

22/04/2015

Foi me designada uma tarefa que eu tenho que tratar a data como float. =/
Como eu faço?
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

22/04/2015

Mas o que exatamente você precisa?
Você precisa converter uma data para float?
Exemplifiquei como são essas datas e como você precisa deixar ela para facilitar a compreensão...
GOSTEI 0
Cauê Nishijima

Cauê Nishijima

22/04/2015

Acho que o jeito mais fácil converter pro formato Date, trabalhar com a data utilizando a uses DateUtils e depois reconverter para float.
GOSTEI 0
Jothaz

Jothaz

22/04/2015

Não conheço nada de DELPHI, mas DateTime é muitas vezes representado como uma contagem de dias de uma data pré-determinada , ou época, sobre a parte inteira e a porcentagem do dia decorrido desde a meia-noite na parte fracionária.

No SQL Server não é a exceção, portanto, a conversão para Float é possível.

Dia 0 é 01 de janeiro de 1900 00:00:00 seria a data inicial base.

Assim, você pode tentar o seguinte:

declare @ADate DateTime;

set @ADate = '19000101 00:00:00';
select CONVERT(float, @ADate);  --0
set @ADate = '19000101 12:00:00';
select CONVERT(float, @ADate);  --0.5
set @ADate = '19001231 06:00:00';
select CONVERT(float, @ADate);  --364.25
set @ADate = '19660424 06:00:00';
select CONVERT(float, @ADate);  --24219,25



Assim, por seus resultados, 40.183 dias se passaram desde que 01/01/1900 00:00:00 e 00:00:00 01/07/2010
GOSTEI 0
Ferefefe88

Ferefefe88

22/04/2015

Na verdade eu preciso trabalhar como uma data. E ela não pode ser TDateTime.
GOSTEI 0
POSTAR