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

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 05-11-2024
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 565
Poder: 6
rci Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Hola, puedes pasar el codigo que usas para la consulta?
Yo uso esta
Que devuelbe un json con todos los datos incluyendo el desfase UTC, basado en la ip, mirad el ejemplo.

Lo saqué de internet: https://stackoverflow.com/questions/...server-using-c

Es posible que se pueda mejorar pero de momento uso este:

Código:
       private static DateTime GetNetworkTime()
       {
           //default Windows time server
           const string ntpServer = "time.windows.com";

           // NTP message size - 16 bytes of the digest (RFC 2030)
           var ntpData = new byte[48];

           //Setting the Leap Indicator, Version Number and Mode values
           ntpData[0] = 0x1B; //LI = 0 (no warning), VN = 3 (IPv4 only), Mode = 3 (Client Mode)

           var addresses = Dns.GetHostEntry(ntpServer).AddressList;

           //The UDP port number assigned to NTP is 123
           var ipEndPoint = new IPEndPoint(addresses[0], 123);
           //NTP uses UDP

           using (var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp))
           {
               socket.Connect(ipEndPoint);

               //Stops code hang if NTP is blocked
               socket.ReceiveTimeout = 3000;

               socket.Send(ntpData);
               socket.Receive(ntpData);
               socket.Close();
           }

           //Offset to get to the "Transmit Timestamp" field (time at which the reply 
           //departed the server for the client, in 64-bit timestamp format."
           const byte serverReplyTime = 40;

           //Get the seconds part
           ulong intPart = BitConverter.ToUInt32(ntpData, serverReplyTime);

           //Get the seconds fraction
           ulong fractPart = BitConverter.ToUInt32(ntpData, serverReplyTime + 4);

           //Convert From big-endian to little-endian
           intPart = SwapEndianness(intPart);
           fractPart = SwapEndianness(fractPart);

           var milliseconds = (intPart * 1000) + ((fractPart * 1000) / 0x100000000L);

           //**UTC** time
           var networkDateTime = (new DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc)).AddMilliseconds((long)milliseconds);

           return networkDateTime.ToLocalTime();
       }

       // stackoverflow.com/a/3294698/162671
       private static uint SwapEndianness(ulong x)
       {
           return (uint)(((x & 0x000000ff) << 24) +
                          ((x & 0x0000ff00) << 8) +
                          ((x & 0x00ff0000) >> 8) +
                          ((x & 0xff000000) >> 24));
       }
Responder Con Cita
 


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 20:57:07.


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