Fórum Date como Float #517481

22/04/2015

0

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

Ferefefe88

Responder

Posts

22/04/2015

Ferefefe88

preciso tirar mes, ano, dia, hora, minuto de um float
Responder

Gostei + 0

22/04/2015

Marisiana Battistella

Mas por que a data está nesse formato?
Responder

Gostei + 0

22/04/2015

Marisiana Battistella

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...
Responder

Gostei + 0

22/04/2015

Marisiana Battistella

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.
Responder

Gostei + 0

22/04/2015

Ferefefe88

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

Gostei + 0

22/04/2015

Marisiana Battistella

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...
Responder

Gostei + 0

22/04/2015

Cauê Nishijima

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

Gostei + 0

22/04/2015

Jothaz

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
Responder

Gostei + 0

23/04/2015

Ferefefe88

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

Gostei + 0

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

Aceitar