JSON - Retorno de campo data

Delphi

09/07/2013

Estou acessando um webservice que foi desenvolvido em C# que retorna uma string no formato json.
Nesta string tem um campo data que vem no seguinte formato:

/Date(1373252400000)/

Como eu converto esse campo para um tDateTime???
Alvaro Maia

Alvaro Maia

Curtidas 0

Respostas

Alvaro Maia

Alvaro Maia

09/07/2013

Encontrei na web a seguinte função que aparentemente está resolvendo meu problema:

function JavaToDelphiDateTime(const dt: int64): TDateTime;
var
t: TSystemTime;
begin
DateTimeToSystemTime(25569 + (dt / 86400000), t);
SystemTimeToTzSpecificLocalTime(nil, t, t);
Result := SystemTimeToDateTime(t);
end;

A chamada fica assim:

procedure converteData(dataStr: string);
var
data: TDateTime;
begin
Delete(dataStr,Length(dataStr)-1,2);
Delete(dataStr,1,6);
data := JavaToDelphiDateTime(StrToInt64(dataStr));
...

Não entendi direito o uso da constantes 25569 na função JavaToDelphiDateTime.


GOSTEI 0
POSTAR