2010-08-17 18 views

Respuesta

7

Esto es para lo que se creó Network Time Protocol. Pero probablemente sea mejor dejarlo a su sistema operativo, para que no termine con aplicaciones en duelo usando servidores diferentes, no sincronizados.

Consulte los encabezados en el enlace anterior para las implementaciones de UNIX y Windows.

1

Esto se siente como algo que el sistema operativo debe hacer por su cuenta ...

existe un protocolo de internet llamada NTP que devuelve el tiempo de servidores de horario.

Es posible que desee intentar buscar una biblioteca/clase que pueda usar NTP para recuperar el tiempo para usted.

O podría intentar buscar en el código fuente ntpclient.

0

Normalmente, la mayoría de los sistemas operativos incluyen dicha funcionalidad.

Tanto Windows como Linux se pueden sincronizar con los servidores NTP.

Si realmente queremos que el usuario cambie su zona horaria, debería buscar API específicas del sistema operativo en lugar de comunicarse directamente con los servidores horarios y luego cambiar la hora del sistema. Esto sería manera más agradable.

2

Hay bibliotecas libres y especificaciones de cómo recuperar el tiempo y el formato en que lo reciba (por lo que los RE son generalmente innecesarios). Tu elección depende del nivel de precisión/precisión que desees.

RFC 868 da tiempo al segundo, que es totalmente adecuado para los propósitos de muchas personas. Si es lo suficientemente bueno, es un lote más fácil de implementar que los otros enumerados a continuación.
RFC 5905 define el protocolo de tiempo de red. Siempre y cuando solo desee obtenga el tiempo, no se lo proporcione a nadie más, NTP probablemente sea exagerado.
RFC 4330 define SNTP (Simple NTP), que es una versión simplificada de NTP para computadoras que actúan como "nodos hoja", es decir, recuperan el tiempo de otros lugares, pero nada más recupera el tiempo de ellos.

The NTP project tiene librerías NTP gratuitas para una serie de sistemas.

Cuestiones relacionadas