Como converter uma data retornada por um Json para TDateTime? – Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como converter uma data retornada por um Json para TDateTime?

 

Normalmente ao receber um json, a data vem em um padrão um pouco
diferente, conforme o exemplo abaixo:

1
2
3
4
5
6
7
8
{
  "cdPlayer": 3,
  "nmPlayer": "Player Name",
  "dtCreate": "2016-08-24T22:53:31.687",
  "dtDay": "2017-05-01",
  "dtChange": null,
  "idStatus": true
 }

Se tentar Usar o StrToDate, irá dar erro!

Felizmente a uma função para resolver isto!

Vamos a ela:

Antes, declare DateUtils ou System.DateUtils;

1
2
3
4
5
6
7
8
9
10
11
12
13
function JSONDate_To_Datetime(JSONDate: string): TDatetime;
var Year, Month, Day, Hour, Minute, Second, Millisecond: Word;
begin
  Year        := StrToInt(Copy(JSONDate, 1, 4));
  Month       := StrToInt(Copy(JSONDate, 6, 2));
  Day         := StrToInt(Copy(JSONDate, 9, 2));
  Hour        := StrToInt(Copy(JSONDate, 12, 2));
  Minute      := StrToInt(Copy(JSONDate, 15, 2));
  Second      := StrToInt(Copy(JSONDate, 18, 2));
  Millisecond := Round(StrToFloat(Copy(JSONDate, 19, 4)));
 
  Result := EncodeDateTime(Year, Month, Day, Hour, Minute, Second, Millisecond);
end;

Fonte: https://stackoverflow.com/questions/39427597/how-to-parse-to-tdatetime-a-date-time-returned-from-a-json-string-in-delphi-xe-1

Dúvidas ou sugestões? Deixe o seu comentário!

Facebook Comments

Posts Relacionados

  • Giovani Da Cruz
  • 63 views
  • 0 comentários
  • 27 de maio de 2017

 

Publicidade

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo


© 2017 Infus Soluções em Tecnologia - Todos os Direitos Reservados