|
RELOGIO ATOMICO - COM PRECISAO ATOMICA |
Started by Boller, Jul., 26 2024 2:23 AM - No answer |
| |
| | | |
|
| |
Registered member 3,694 messages Popularité : +175 (223 votes) |
|
Posted on July, 26 2024 - 2:23 AM |
// Summary: <specify the procedure action> // Syntax: //GetRelogioAtomico () // // Parameters: // None // Example: // <Specify a usage example> // // Return value: PROCEDURE GetRelogioAtomico()
// Define a URL da API para o fuso horário de Brasília sUrl is string = "http://worldtimeapi.org/api/timezone/America/Sao_Paulo"
//exemplo //{ // "abbreviation": "-03", // "client_ip": "138.204.25.129", // "datetime": "2024-07-25T21:39:02.036358-03:00", // "day_of_week": 4, // "day_of_year": 207, // "dst": false, // "dst_from": null, // "dst_offset": 0, // "dst_until": null, // "raw_offset": -10800, // "timezone": "America/Sao_Paulo", // "unixtime": 1721954342, // "utc_datetime": "2024-07-26T00:39:02.036358+00:00", // "utc_offset": "-03:00", // "week_number": 30 //}
dtDateTime is DateTime //atomica dtDataHora is DateTime //relogio do computador
IF HTTPRequest(sUrl) = True THEN
vRESULTADO is string = HTTPGetResult()
// Analisa a resposta JSON JSONResponse is JSON JSONResponse = vRESULTADO // Extrai a data e hora // "2024-07-25T21:39:02.036358-03:00" Hora is string = Middle(JSONResponse.datetime,12,9) Hora = Replace(Hora,":","") Hora = Replace(Hora,"-","") dtDateTime = Middle(JSONResponse.datetime,1,4)+Middle(JSONResponse.datetime,6,2)+Middle(JSONResponse.datetime,9,2)+Hora
dtDataHora = DateSys()+TimeSys() IF Middle(dtDateTime,1,12) <> Middle(dtDataHora,1,12) THEN datacerta is string = DateToString(dtDateTime,"DD/MM/YYYY") Horacerta is string = TimeToString(dtDateTime,"HH:MM:SS") AMPM is string IF Val(Middle(Horacerta,1,2)) <= 12 THEN AMPM = "AM" ELSE AMPM = "PM" END Info("Data do computador esta errada!") Info(dtDateTime,dtDataHora) Info("PowerShell: Set-Date '[%datacerta%] [%Horacerta%] [%AMPM%]'") ELSE Info("Data e Hora esta sincronizada") END ELSE Error("Falha ao obter a data e hora atual.") END
RESULT dtDateTime
//Aqui está uma explicação passo a passo do código: // //Definir a URL da API: A URL http://worldtimeapi.org/api/timezone/America/Sao_Paulo é usada para obter a hora atual de Brasília. // //Solicitação HTTP GET: A função HTTPRequest envia uma solicitação GET para a URL especificada. // //Verificação de Erro: O bloco IF ErrorOccurred = False verifica se a solicitação HTTP foi bem-sucedida. // //Análise da Resposta JSON: A resposta JSON da API é convertida para uma estrutura JSON usando JSONToVariant. // //Extração da Data e Hora: A data e hora são extraídas da resposta JSON. // //Conversão para DateTime: A string de data e hora é convertida para um tipo DateTime. // //Exibição da Data e Hora: A data e hora são exibidas usando a função Info. // //Certifique-se de incluir as bibliotecas necessárias para manipulação de JSON e HTTP em seu projeto Windev. // //Se precisar de mais alguma ajuda ou explicação, sinta-se à vontade para perguntar!
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modified, July, 26 2024 - 3:14 AM |
| |
| |
| | | |
|
| | | | |
| | |
|