Ver Mensaje Individual
  #40  
Antiguo 08-11-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Reputación: 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