PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → Hora certa atual de Brasília -3gm
Hora certa atual de Brasília -3gm
Débuté par Boller, 13 sep. 2022 17:06 - 3 réponses
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 13 septembre 2022 - 17:06
PROCEDURE HoraAtual()
IF HTTPRequest("https://www.horario-brasilia.com/")=True THEN
sResultado is string = HTTPGetResult()
testea is string = UTF8ToAnsi(sResultado)
sData is string = XMLExtractString(testea,"strong")
sHora is string = XMLExtractString(testea,"p",2)
sData = NoSpace(ExtractString(sData,2, ","))
sData = Upper(Replace(sData," de ","/",IgnoreCase))
sMes is string = Upper(ExtractString(sData,2, "/"))
sMes = sMes[[1 TO 3]]
nMes is int = Position("JANFEVMARABRMAIJUNJULAGOSETOUTNOVDEZ", sMes, 1, FromBeginning)
nMes = ((nMes-1)/3)+1
sData = (ExtractString(sData,3, "/")+NumToString(nMes,"02d")+ExtractString(sData,1, "/"))
dDate is Date = sData
tTime is Time = StringToTime(sHora,"HH:MM:SS")
sData = DateToString(dDate, "DDDD, DD de MMMM de YYYY")
STC_Hora = sData + CR + CR+ TimeToString(tTime,"HH:MM:SS")
GLO_HORA = tTime
GLO_DATA = dDate
ELSE
STC_Hora = "PROBLEMAS PARA PEGAR A HORA BRASÍLIA"
END
RETURN


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 13 septembre 2022 - 17:07
Exemplo feito por Marcos e Mello

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 14 septembre 2022 - 15:08
Bom dia

Usando Data e Hora de Relógio Atômico

Criei um campo EDT_DataHoraAtomica
Criei um campo EDT_DataHoraDevice

Criei um botão para preencher os campos EDT

h is httpRequest
h..Method = httpGet
h..URL = "http://worldtimeapi.org/api/timezone/europe/lisbon"

EDT_DataHoraDevice=SysDateTime()
resultado is restResponse = RESTSend(h)

IF resultado..StatusCode = 200 THEN
retorno is JSON = resultado..Content
EDT_DataHoraAtomica = StringToDate(retorno.datetime,maskDateInternet)
ELSE
EDT_DtaHoraAtomica= StringToDate("19000101","YYYYMMDD")
END



Mas vou propor à PcSoft que façam o controlo do parâmetro que define se o device tem atualização de data/hora automática.
desse modo, conseguimos saber se o utilizador alterou a data/hora do device, com objetivo de "lesar"

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 14 septembre 2022 - 15:16
no nosso caso é :

http://worldtimeapi.org/api/timezone/America/Sao_Paulo

tem a mesma hora de Brasilia

Exemplo feito pelo Sr João Ferreira


Então

h is httpRequest
h..Method = httpGet
h..URL = "http://worldtimeapi.org/api/timezone/America/Sao_Paulo”
EDT_DataHoraDevice=SysDateTime()
resultado is restResponse = RESTSend(h)

IF resultado..StatusCode = 200 THEN
retorno is JSON = resultado..Content
EDT_DataHoraAtomica = StringToDate(retorno.datetime,maskDateInternet)
ELSE
EDT_DtaHoraAtomica= StringToDate("19000101","YYYYMMDD")
END


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/