unit Unit2;
interface
uses
System.SysUtils, System.DateUtils, IdHTTP, IdSSLOpenSSL, System.JSON;
function LeeFechaHoraInternet: string;
implementation
function LeeFechaHoraInternet: string;
var
Http: TIdHTTP;
SSLHandler: TIdSSLIOHandlerSocketOpenSSL;
Respuesta: string;
JsonRespuesta: TJSONObject;
UnixTicks: Int64;
FechaHora: TDateTime;
begin
Result := FormatDateTime('yyyy-mm-dd"T"hh:nn:ss"Z"', Now); Http := TIdHTTP.Create(nil);
SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
try
Http.IOHandler := SSLHandler;
Http.Request.Accept := 'application/json';
Http.Request.UserAgent := 'Mozilla/5.0 (compatible; Delphi)';
try
Respuesta := Http.Get('https://www2.roa.es/cgi-bin/horautc');
UnixTicks := StrToInt64(Trim(Respuesta)); FechaHora := UnixToDateTime(UnixTicks div 1000); FechaHora := TTimeZone.Local.ToLocalTime(FechaHora);
Result := FormatDateTime('yyyy-mm-dd"T"hh:nn:ss"Z"', FechaHora);
except
on E: Exception do
Result := FormatDateTime('yyyy-mm-dd"T"hh:nn:ss"Z"', Now);
end;
finally
Http.Free;
SSLHandler.Free;
end;
end;
end.