Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Envío de registros y sus respuestas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-11-2024
novatico novatico is offline
Miembro
 
Registrado: dic 2022
Posts: 373
Poder: 4
novatico Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Y podrías poner como haces la petición?
Bueno, primero he de recordar algo que ya he comentado en este foro. No uso Delphi, pero estoy por aquí porque es un foro muy activo.
Si tecleas esa dirección http://date.jsontest.com en el navegador, ya vas a ver los datos que devuelve.

Para hacer programáticamente, yo hago un "httpRequest" con orden "GET" y me devuelve el mismo texto que ves en el navegador.
Sólo hay que tomar la información y manejarla, y la respuesta es muy rápida.
Al principio usaba la dirección http://worldtimeapi.org/api/timezone/Europe/Madrid, pero, aunque es más completa, falla en muchas ocasiones.

Os pego el trozo de mi código por si os ayuda:


Código Delphi [-]
        lcURL = "http://date.jsontest.com"
        loHTTP = Createobject("WinHttp.WinHttpRequest.5.1")
        loHTTP.Open("GET", lcURL, .F.)
        loHTTP.Send()

En lcURL va la dirección de más arriba.

Me olvidaba, la respuesta va en:
Código Delphi [-]
cResp = loHTTP.ResponseText

Última edición por Neftali [Germán.Estévez] fecha: 08-11-2024 a las 18:25:36.
Responder Con Cita
  #2  
Antiguo 08-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
ermendalenda Va por buen camino
Cita:
Empezado por novatico Ver Mensaje
Bueno, primero he de recordar algo que ya he comentado en este foro. No uso Delphi, pero estoy por aquí porque es un foro muy activo.
Si tecleas esa dirección "http://date.jsontest.com" en el navegador, ya vas a ver los datos que devuelve.

Para hacer programáticamente, yo hago un "httpRequest" con orden "GET" y me devuelve el mismo texto que ves en el navegador.
Sólo hay que tomar la información y manejarla, y la respuesta es muy rápida.
Al principio usaba la dirección "http://worldtimeapi.org/api/timezone/Europe/Madrid", pero, aunque es más completa, falla en muchas ocasiones.

Os pego el trozo de mi código por si os ayuda:


lcURL = "http://date.jsontest.com"
loHTTP = Createobject("WinHttp.WinHttpRequest.5.1")
loHTTP.Open("GET", lcURL, .F.)
loHTTP.Send()

En lcURL va la dirección de más arriba.

Me olvidaba, la respuesta va en:

cResp = loHTTP.ResponseText
Gracias
Ese lo tengo
Me refiero al de la armada
Responder Con Cita
  #3  
Antiguo 08-11-2024
novatico novatico is offline
Miembro
 
Registrado: dic 2022
Posts: 373
Poder: 4
novatico Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Gracias
Ese lo tengo
Me refiero al de la armada
Creo que es "hora.roa.es"
Responder Con Cita
  #4  
Antiguo 08-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
ermendalenda Va por buen camino
Cita:
Empezado por novatico Ver Mensaje
Creo que es "hora.roa.es"
Gracias
Lo miro
Responder Con Cita
  #5  
Antiguo 08-11-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 864
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por novatico Ver Mensaje
Creo que es "hora.roa.es"
Hola ahora es https://www2.roa.es/hora/
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #6  
Antiguo 08-11-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 864
Poder: 3
bmfranky Va por buen camino
Funcion Obterner Fechora de internet ROA

Hola,despues de leer lo anterior, he adaptado la funcion que tenia para obtener la hora de internet os la paso aqui por si a alguien le interesa, devuelve la hora del Real Instituto y Observatorio de la Armada (ROA)
Hay que instalar el paquete Nugget de criptografia BouncyCastle,


Aqui adaptado para devolver datetime , tened encuenta que devuelve utc

Código:
        /// <summary>
        /// Devuelve la hora actual de internet.
        /// </summary>
        /// <returns>Hora actual formateada.</returns>
        public static DateTime leeFechaHoraInternet()
        {
           
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            try
            {
                 HttpWebRequest webRequest =  (HttpWebRequest)WebRequest.Create("https://www2.roa.es/cgi-bin/horautc");//https://worldtimeapi.org/api/ip");
                webRequest.Method = "GET";
                HttpWebResponse respuesta = (HttpWebResponse) webRequest.GetResponse();
                if(respuesta.StatusCode == HttpStatusCode.OK)
                {
                    Stream strmRespuesta = respuesta.GetResponseStream();
                    StreamReader leeRespuesta = new StreamReader(strmRespuesta);
                    string jsonRespuesta = leeRespuesta.ReadToEnd();
                    long ticks = long.Parse(jsonRespuesta.Replace("\\n", ""));
                     var fechora =  Org.BouncyCastle.Utilities.Date.DateTimeUtilities.UnixMsToDateTime(ticks);//esta  la uso yo porque tengo bouncy instalado
                    //desde el paquete nuget BouncyCastle
                    return fechora;                               
                }
            }
            catch(Exception Exc)
            {
               return DateTime.Now;
            }
             return DateTime.Now;
        }
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #7  
Antiguo 09-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
ermendalenda Va por buen camino
Gracias, también he estado mirandolo, no habia viso que ya lo habias encontrado.
Mismo sitio devuelve la hora UNIX (los milisegundos desde las 00:00:00 de 1/1/1970)

Yo lo que hago es restarle la hora unix actual y me devuelve la diferencia, aplicandole la diferencia horaria me devuelve el desfase
Cita:
curl.exe --connect-timeout 2 -m 2 -k -S -L "https://www2.roa.es/cgi-bin/horautc"
Responder Con Cita
  #8  
Antiguo 09-11-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.766
Poder: 8
ermendalenda Va por buen camino
Post

Una pregunta, tenéis que tener en cuenta alguno que el último cambio horario es el 25/10/2026 o soy el único?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como le resto una hora a la fecha y hora en sql server uper MS SQL Server 3 12-10-2015 20:41:49
Agrupar por fecha, teniendo en el campo fecha y hora El_Raso Firebird e Interbase 3 18-03-2010 22:05:19
obtener solo la fecha en formato fecha y sin hora BlueSteel SQL 14 09-05-2008 16:42:19
formato fecha y hora a solo Fecha ozegarra Firebird e Interbase 6 22-02-2008 18:43:34
Extraccion fecha de un campo fecha y hora matti Firebird e Interbase 3 26-04-2007 19:48:11


La franja horaria es GMT +2. Ahora son las 04:19:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi